SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: mikichu en Viernes 8 de Mayo de 2009, 16:48
-
hola a todos tengo un full problema y no se como solucionarlo.
El tema es que tengo 2 tablas una llamada Persona(Id, Nombre, Apellido,CI,Domicilio) y otra Paciente(Id,edad,Procedencia, Ocupacion, Estado_Civil).
El punto es que al momento de LLenar la tabla Persona me llene tambien la Tabla Paciente Con el Id de la Persona.
Las tablas si o si tenen que ser separadas puesto que se trata de una generalización.
Tengo un formulario general para la introduccion de estos datos.
Si me pueden dar otra forma de hacer esto seria genial.
La Base de Datos esta en Acces
y trate de hacerlo de la siguiente manera:
Private mobjConn As ADODB.Connection
Private mobjConn1 As ADODB.Connection
Private mobjCmd As ADODB.Command
Private mobjCmd1 As ADODB.Command
Dim strSQL As String
Dim strSQL1 As String
strSQL = "INSERT INTO PERSONA( ID"
strSQL = strSQL & " , Nombre"
strSQL = strSQL & " , Apellido"
strSQL = strSQL & " , CI"
strSQL = strSQL & " , Domicilio"
strSQL = strSQL & " ) VALUES ("
strSQL = strSQL & lngIDField
strSQL = strSQL & ", '" & Replace$(txtNombre.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtApellido.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtCI.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtDomicilio.Text, "'", "''") & "'"
strSQL = strSQL & ")"
strSQL1 = "INSERT INTO INTERESADO( ID"
strSQL1 = strSQL & " , Telefono"
strSQL1 = strSQL & " ) VALUES ("
strSQL1 = strSQL & lngIDField
strSQL1 = strSQL & ", '" & Replace$(txtTelefono.Text, "'", "''") & "'"
strSQL1 = strSQL & ")"
mobjCmd.CommandText = strSQL
mobjCmd.Execute
mobjCmd1.CommandText = strSQL1
mobjCmd1.Execute
Espero que puedan ayudarme bueno bye. y gracias de antemano jejej
-
No entiendo que hay con ese codigo, no te funciona ? te da algun error?
ya haz logrado conectarte a la base de datos? (creo que por ahi va el problema)
Revisa este hilo
viewtopic.php?f=56&t=23439&p=82372 (http://foros.solocodigo.com/viewtopic.php?f=56&t=23439&p=82372" onclick="window.open(this.href);return false;)
Una vez conectado (lo principal), podras hacer eso de muchas maneras y sin problemas
Saludos
-
Revisa esto: viewtopic.php?f=141&t=38709 (http://foros.solocodigo.com/viewtopic.php?f=141&t=38709" onclick="window.open(this.href);return false;)
-
Me conecto bien a la Base de Datos incluso puedo realizar insersion actualizacion eliminacion en una tabla pero lo que yo quiero es hacer lo mismo pero en dos tablas al mismo tiempo es decir manipular varias tablas en una consulta. sera que se puede o tengo que hacerlo de otra manera
OTRA VES MI PROBLEMA NO ES DE CONEXION A LA BASE DE DATOS POR ESE LADO TODO VA BIEN
Bueno de todos modos Gracias por responder.
-
hacer lo mismo pero en dos tablas al mismo tiempo es decir manipular varias tablas en una consulta
Eso lo puedes hacer en la misma sentencia SQL si le especificas las tablas, a menos que sean 2 conexiones diferentes. En tal caso que yo sepa sólo lo puedes hacer tal y como has puesto.
-
Hola, para que 2 conexiones y 2 comandos ? con uno solo es suficiete...aparte el error es que estas mezclando las variables strSQL y strSQL1...
saludos.
-
Bueno Gracias a todos por su ayuda pero al fin pude hacer lo que queria les dejo el codigo p que lo chequeenn
Des pues de insertar en una tabla borro la variable de consulta strSQL y la vuelvo a llenar para ejecutar otra consulta
todo utiliza la misma conecionn
Private mobjConn As ADODB.Connection
Private mobjCmd As ADODB.Command
Private mobjRst As ADODB.Recordset
If mstrMaintMode = "ADD" Then
strSQL = "INSERT INTO INTERESADO( ID"
strSQL = strSQL & " , Telefono"
strSQL = strSQL & " ) VALUES ("
strSQL = strSQL & lngIDField
strSQL = strSQL & ", '" & Replace$(txtTelefono.Text, "'", "''") & "'"
strSQL = strSQL & ")"
Else
lngIDField = CLng(lvPersona_Interesado.SelectedItem)
strSQL = "UPDATE INTERESADO SET "
strSQL = strSQL & " Telefono = '" & Replace$(txtTelefono.Text, "'", "''") & "'"
strSQL = strSQL & " WHERE ID = " & lngIDField
End If
mobjCmd.CommandText = strSQL
mobjCmd.Execute
strSQL = " "
If mstrMaintMode = "ADD" Then
'lngIDField = GetNextCustID()
strSQL = "INSERT INTO PERSONA( ID"
strSQL = strSQL & " , Nombre"
strSQL = strSQL & " , Apellido"
strSQL = strSQL & " , CI"
strSQL = strSQL & " , Domicilio"
strSQL = strSQL & " ) VALUES ("
strSQL = strSQL & lngIDField
strSQL = strSQL & ", '" & Replace$(txtNombre.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtApellido.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtCI.Text, "'", "''") & "'"
strSQL = strSQL & ", '" & Replace$(txtDomicilio.Text, "'", "''") & "'"
strSQL = strSQL & ")"
Else
'lngIDField = CLng(lvPersona_Interesado.SelectedItem)
strSQL = "UPDATE PERSONA SET "
strSQL = strSQL & " Nombre = '" & Replace$(txtNombre.Text, "'", "''") & "'"
strSQL = strSQL & ", Apellido = '" & Replace$(txtApellido.Text, "'", "''") & "'"
strSQL = strSQL & ", CI = '" & Replace$(txtCI.Text, "'", "''") & "'"
strSQL = strSQL & ", Domicilio = '" & Replace$(txtDomicilio.Text, "'", "''") & "'"
strSQL = strSQL & " WHERE ID = " & lngIDField
strSQL = "UPDATE INTERESADO SET "
strSQL = strSQL & " Telefono = '" & Replace$(txtTelefono.Text, "'", "''") & "'"
strSQL = strSQL & " WHERE ID = " & lngIDField
End If
mobjCmd.CommandText = strSQL
mobjCmd.Execute