Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Mostrar dato de la base de datos en un MSGBOX

Estas en el tema de Mostrar dato de la base de datos en un MSGBOX en el foro de Visual Basic clásico en Foros del Web. Hola Estoy haciendo un sistema y en una de las ventanas despues de dar le alta el registro necesito que despues de guardarlo me arroje ...
  #1 (permalink)  
Antiguo 04/11/2008, 17:55
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Exclamación Mostrar dato de la base de datos en un MSGBOX

Hola

Estoy haciendo un sistema y en una de las ventanas despues de dar le alta el registro necesito que despues de guardarlo me arroje un mensaje que diga: "El registro se ha guardado con el numero ****"
donde **** es el ID_REG que se genera automaticamente en la base de datos lo trate de hacer con este codigo pero no funciona, me devuelve 0

Private Sub Guardar_Click()
If Comprobar = True Then
rec.Open "Select * from Base_Telmex", db, adOpenDynamic, adLockPessimistic, adCmdText
With rec
.AddNew
!TIPO_CON = CbContrata.Text
!TELEFONO = TxtTel.Text
!Nombre = TxtNom.Text
!CALLE = TxtCalle.Text
!COLONIA = TxtCol.Text
!ESTADO = CbEdo.Text
.Update
End With
TxtId.Text = rec.Fields("ID_REG").Value
a = Val(TxtId.Text)
Ok = MsgBox("Han sido dado de alta los datos. Con la orden de servicio temporal" & Str(a), vbInformation, "Captura.")
Listo
rec.Close
End If
End Sub
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 05/11/2008, 03:15
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Mostrar dato de la base de datos en un MSGBOX

Cita:
Iniciado por velma Ver Mensaje
Hola

Estoy haciendo un sistema y en una de las ventanas despues de dar le alta el registro necesito que despues de guardarlo me arroje un mensaje que diga: "El registro se ha guardado con el numero ****"
donde **** es el ID_REG que se genera automaticamente en la base de datos lo trate de hacer con este codigo pero no funciona, me devuelve 0

Private Sub Guardar_Click()
If Comprobar = True Then
rec.Open "Select * from Base_Telmex", db, adOpenDynamic, adLockPessimistic, adCmdText
With rec
.AddNew
!TIPO_CON = CbContrata.Text
!TELEFONO = TxtTel.Text
!Nombre = TxtNom.Text
!CALLE = TxtCalle.Text
!COLONIA = TxtCol.Text
!ESTADO = CbEdo.Text
.Update
End With
TxtId.Text = rec.Fields("ID_REG").Value
a = Val(TxtId.Text)
Ok = MsgBox("Han sido dado de alta los datos. Con la orden de servicio temporal" & Str(a), vbInformation, "Captura.")
Listo
rec.Close
End If
End Sub
Hola, en un principio el código parece correcto y 'a' debería mostrar el ID_REG insertado.

Habría que ver cómo haces la conexión a la bd y también qué hace el procedimiento 'Listo'

  #3 (permalink)  
Antiguo 05/11/2008, 10:25
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Mostrar dato de la base de datos en un MSGBOX

Listo solo inhabilita as cajas de texto y combos, y mi conexion esta de la siguiente forma:

este esta en un formulario de inicio

Private Sub Form_Load()
db.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=telmex;Initial Catalog=Telmex"
db.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=telmex;Initial Catalog=Telmex"
End Sub


yu este en un modulo de conexiones
Option Explicit

Public Cadena As String 'string que contiene la cadena de conexion
Public iSql As String 'string que contiene la instruccioón SQL
Public Usuario As String 'identifica el nombre de usuario
Public db As New ADODB.Connection 'cadena de conexión de accseso a datos ADO
Public rec As New ADODB.Recordset 'recordset de accseso a datos ADO

__________________
:cool: VELMA:si:
  #4 (permalink)  
Antiguo 06/11/2008, 09:23
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Mostrar dato de la base de datos en un MSGBOX

Primero deberias conocer la clave principal del registro ingresado, para esto yo lo haria asi
set cn=New ADODB.Connection
cn.open "nameBD" 'vale aclarar tomando la base de datos de un ODBC
set rec = new ADODB.Recordset
set rec=cn.execute("INSERT INTO tu_tabla(campo1,campo2,campo3) VALUES (valor1,valor2, valor3)") 'Primera sentencia
set rec=cn.conection("SELECT @@IDENTITY AS new_campo") 'esta sentencia te va ha dar el id autonumerico del registro que ingresaste en la primera sentencia
var1=rec.fields(0)
msgbox "El registro se ha guardado con el numero " & var1 &

Espero que te sirva de algo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.