Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/11/2010, 09:06
gohanjaja
 
Fecha de Ingreso: junio-2008
Mensajes: 58
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: ¿Como insertar datos en 2 o 3 tablas al mismo tiempo??

Cita:
Iniciado por Insomnia Ver Mensaje
Hola

Tienes introducido el campo dni en la tabla alumnos antes de introducirla en libretas?

De todas formas (no se si realmente influye) no mezclaría formas de introducir datos, es decir, realizaría todas las inserciones de datos (por lo menos en este apartado) utilizando la clausula insert. Algo como:

Código:
bd.execute "INSERT INTO alumnos(dni, fecha matr, apellido, nombre) VALUES('" & dni.text & "','" & fecha matri.text & ...
bd.execute "INSERT INTO libretas(dni) VALUES('" & dni.text & "')"
.
P.D. Ahora que lo pienso, igual tienes que refrescar el recordset antes de realizar el segundo insert, de todas formas prueba a realizar todos los inserts sin el recordset.

--Saludos--
Ya tengo introducidos los campos "dni" y "DNI" en alumnos y libretas...

Sabes por q no puse el primer insert en la tabla alumnos de esa forma, por q tengo varios checks y options , donde voy guardando valores con "IF = 1 then ..." EJEMPLO:

Código:
If Document4 = 1 Then
rs1("acta_nac") = "Ya presentó"
Else
rs1("acta_nac") = "No presentó"
End If
Yo voy a poder guardar 1 solo value "Presentó"...y el otro ya nó...O hay alguna forma de hacerlo?

--------------

Para que se den una idea éste es mi botón de guardar sin usar insert, y usando recordset (rs1):


Código:
With rs1
If rs1.State = 1 Then rs1.Close
rs1.Open "select * from alumnos", cn, adOpenDynamic, adLockOptimistic

rs1.AddNew
rs1("dni") = dni.Text
rs1("fecha matr") = Mfecha.Text
rs1("apellido") = ape.Text
rs1("nombre") = nom.Text

If Sex1.Value = True Then
rs1("sexo") = "masculino"
End If
If Sex2.Value = True Then
rs1("sexo") = "femenino"
End If

rs1("fecha nac") = Nd.Text & "/" & Nm.Text & "/" & Na.Text
rs1("id_localidades") = id_loc.Text

rs1("nacionalidad") = Nacion.Text
rs1("id_establecimiento") = id_esc.Text

rs1("monto_libre") = Text2.Text
rs1("monto_coop") = monto.Text


If Document1 = 1 Then
rs1("foto_titulo") = "Ya presentó"
Else
rs1("foto_titulo") = "No presentó"
End If


If Document2 = 1 Then
rs1("foto_dni") = "Ya presentó"
Else
rs1("foto_dni") = "No presentó"
End If

If Document3 = 1 Then
rs1("foto_perfil") = "Ya presentó"
Else
rs1("foto_perfil") = "No presentó"
End If

If Document4 = 1 Then
rs1("acta_nac") = "Ya presentó"
Else
rs1("acta_nac") = "No presentó"
End If

Dim status As String
If Document1.Value = 1 And Document2.Value = 1 And Document3.Value = 1 And Document4.Value = 1 Then
status = "si"
Else
status = "no"
End If

rs1("status") = status

If titu.Value = True Then
rs1("id_titulo") = "1"
End If

If consta.Value = True Then
rs1("id_titulo") = "2"
End If

If adeu.Value = True Then
rs1("id_titulo") = "3"
End If

End With
Ahora , le agrego lo que uds me dicen....con otro recordset :


Código:
rs1.Close
rs2.Open "INSERT INTO libretas(dni) VALUES('" & dni.Text & "')"
rs2.AddNew
rs2("DNI") = dni.Text
rs2.Update
rs2.Close

Y me salta error en rs1.close

me dice " La operación no está permitida en éste contexto."

Muchas gracias por intentar ayudar !!

Última edición por gohanjaja; 26/11/2010 a las 09:18