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

Guardar registros en dos tablas

Estas en el tema de Guardar registros en dos tablas en el foro de Visual Basic clásico en Foros del Web. Que tal, de nuevo aqui con una consulta, miren tengo un formulario el cual ya puedo guardar los registros de mis textboxs, lo que trato ...
  #1 (permalink)  
Antiguo 10/10/2008, 13:25
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Sonrisa Guardar registros en dos tablas

Que tal, de nuevo aqui con una consulta, miren tengo un formulario el cual ya puedo guardar los registros de mis textboxs, lo que trato de hacer es q al momento de guardar cierto campos me los guarde en otra tabla, ejemplo tengo los campos fecha1, fecha2, fecha3, nomre1,nombre2,nombre3, lo q necesito es q me guarde esos registros en otra tabla pero ya acomodados solo por los campos fecha y nombre, bueno espero haber explicado,

Gracias por las respuestas

Saludos
  #2 (permalink)  
Antiguo 10/10/2008, 16:08
Avatar de ernestoelunico  
Fecha de Ingreso: septiembre-2008
Mensajes: 96
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Guardar registros en dos tablas

podria ser esto

no especificas en donde o en que pogramas tienes las tablas talvez te servira eso de arriba sino especifica mas
  #3 (permalink)  
Antiguo 10/10/2008, 18:11
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Guardar registros en dos tablas

ok ahorita estoy guardando mi informacion con el siguiente codigo y me funciona bien

Cita:
Private Sub agregaragenda1()
If Text8.Text = "" Then
Call VisualizarAgenda
Set RecSQL = New ADODB.Recordset
RecSQL.Open "INSERT INTO agenda (fechaa,fechab,fecha,idpaciente0,paciente0,s0,p0,a 0,pago0,idpaciente1,paciente1,s1,p1,a1,pago1,idpac iente2,paciente2,s2,p2,a2,pago2,idpaciente3,pacien te3,s3,p3,a3,pago3,idpaciente4,paciente4,s4,p4,a4, pago4,idpaciente5,paciente5,s5,p5,a5,pago5,idpacie nte6,paciente6,s6,p6,a6,pago6,idpaciente7,paciente 7,s7,p7,a7,pago7,idpaciente8,paciente8,s8,p8,a8,pa go8,idpaciente9,paciente9,s9,p9,a9,pago9,idpacient e10,paciente10,s10,p10,a10,pago10,idpaciente11,pac iente11,s11,p11,a11,pago11,idpaciente12,paciente12 ,s12,p12,a12,pago12,idpaciente13,paciente13,s13,p1 3,a13,pago13,idpaciente14,paciente14,s14,p14,a14,p ago14,idpaciente15,paciente15,s15,p15,a15,pago15,i dpaciente16,paciente16,s16,p16,a16,pago16,idpacien te17,paciente17,s17,p17,a17,pago17," & _
"idpaciente18,paciente18,s18,p18,a18,pago18,idpaci ente19,paciente19,s19,p19,a19,pago19,idpaciente20, paciente20,s20,p20,a20,pago20,idpaciente21,pacient e21,s21,p21,a21,pago21,idpaciente22,paciente22,s22 ,p22,a22,pago22,pago)" & _
"VALUES (" & Text0(1) & ",'" & Text0(1) & "','" & Text1(0) & "','" & Text2(400) & "','" & Combo3 & "','" & Text5(0) & "','" & Check2(200) & "','" & Text6(0) & "','" & Text2(500) & "','" & Text2(401) & "','" & Combo4 & "','" & Text5(1) & "','" & Check2(201) & "','" & Text6(1) & "','" & Text2(501) & "','" & Text2(402) & "','" & Combo5 & "','" & Text5(2) & "','" & Check2(202) & "','" & Text6(2) & "','" & Text2(502) & "','" & Text2(403) & "','" & Combo6 & "','" & Text5(3) & "','" & Check2(203) & "','" & Text6(3) & "','" & Text2(503) & "','" & Text2(404) & "','" & Combo7 & "','" & Text5(4) & "','" & Check2(204) & "','" & Text6(4) & "','" & Text2(504) & "','" & Text2(405) & "','" & Combo8 & "','" & Text5(5) & "','" & Check2(205) & "','" & Text6(5) & "','" & Text2(505) & "','" & Text2(406) & "','" & Combo9 & "','" & Text5(6) & "','" & Check2(206) & "','" & Text6(6) & "','" & Text2(506) & "','" & Text2(407) & "','" & Combo10 & "','" & Text5(7) & "','" & Check2(207) & "','" & Text6(7) & "', " & _
" '" & Text2(507) & "','" & Text2(408) & "','" & Combo11 & "','" & Text5(8) & "','" & Check2(208) & "','" & Text6(8) & "','" & Text2(508) & "','" & Text2(409) & "','" & Combo12 & "','" & Text5(9) & "','" & Check2(209) & "','" & Text6(9) & "','" & Text2(509) & "','" & Text2(410) & "','" & Combo13 & "','" & Text5(10) & "','" & Check2(210) & "','" & Text6(10) & "','" & Text2(510) & "','" & Text2(411) & "','" & Combo14 & "','" & Text5(11) & "','" & Check2(211) & "','" & Text6(11) & "','" & Text2(511) & "','" & Text2(412) & "','" & Combo15 & "','" & Text5(12) & "','" & Check2(212) & "','" & Text6(12) & "','" & Text2(512) & "','" & Text2(413) & "','" & Combo16 & "','" & Text5(13) & "','" & Check2(213) & "','" & Text6(13) & "','" & Text2(513) & "','" & Text2(414) & "','" & Combo17 & "','" & Text5(14) & "','" & Check2(214) & "','" & Text6(14) & "','" & Text2(514) & "','" & Text2(415) & "','" & Combo18 & "','" & Text5(15) & "','" & Check2(215) & "','" & Text6(15) & "','" & Text2(515) & "', " & _
" '" & Text2(416) & "','" & Combo19 & "','" & Text5(16) & "','" & Check2(216) & "','" & Text6(16) & "','" & Text2(516) & "','" & Text2(417) & "','" & Combo20 & "','" & Text5(17) & "','" & Check2(217) & "','" & Text6(17) & "','" & Text2(517) & "','" & Text2(418) & "','" & Combo21 & "','" & Text5(18) & "','" & Check2(218) & "','" & Text6(18) & "','" & Text2(518) & "','" & Text2(419) & "','" & Combo22 & "','" & Text5(19) & "','" & Check2(219) & "','" & Text6(19) & "','" & Text2(519) & "','" & Text2(420) & "','" & Combo23 & "','" & Text5(20) & "','" & Check2(220) & "','" & Text6(20) & "','" & Text2(520) & "','" & Text2(421) & "','" & Combo24 & "','" & Text5(21) & "','" & Check2(221) & "','" & Text6(21) & "','" & Text2(521) & "','" & Text2(422) & "','" & Combo25 & "','" & Text5(22) & "','" & Check2(222) & "','" & Text6(22) & "','" & Text2(522) & "','" & Text4 & "')", BD, adOpenStatic, adLockOptimistic
MsgBox "Agenda Guardada", vbInformation, "Éxito"
Set RecSQL = Nothing
end sub
como se pueden dar cuenta varios campos q solo cambian por el numero y se asignan a diferentes textbox q tambien cambian por nombre e index, lo q ando tratando de hacer es q al momento de guardar por ejemplo los q dicen idpaciente0,idpaciente1, idpaciente2, etc, me los guarde en otra tabla obvio en registros diferentes pero todos en un campo q se llama solamente idpaciente, espero haberme podido explicar........... de antemano gracias por sus respuestas

Saludos
  #4 (permalink)  
Antiguo 11/10/2008, 06:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Guardar registros en dos tablas

Normalmente cuando quiero controlar la insercion de datos utilizado DAO en vb6

Podrias utilizar esto

dim db as database
dim rs as recordset

set db=opendatabase('ruta de la base de datos')

set rs=db.openrecordset("Agenda",dbopensynaset)

rs.Addnew
rs!Fecha=textbox1(0)
.
.
.
.
rs!idpaciente=a lo que sea
CargaEnOtraTabla(valor del control para idpaciente)
.
.
.
rs.Update

es decir cuando llega el codigo a la insercion del dato para idpaciente, llamo a otro
procediemnto le paso el valor de idpaciente y lo guardo en otra tabla con un codigo similar a este.

Bueno ya sabras que para usar dao hay que agregar la referencia a Microsoft DAO 3.6 Object Library si es con Office 2000-2003

Por cierto he supuesto que la base de datos es Access, sino las cosas cambian un poco.

Espero que te sirva
  #5 (permalink)  
Antiguo 11/10/2008, 06:54
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Guardar registros en dos tablas

ok, no mi base de datos es mysql, y bueno no se si sea la mejor opcion pero la forma en q lo he solucionado es agregar otro proceso el cual abro la otra tabla y agrego los registros a los campos de esta manera

Cita:
Private Sub agendaagregar3()
If Text10(2).Text = "" Then
Call VisualizarAgendaa
Set RecSQL = New ADODB.Recordset
RecSQL.Open "INSERT INTO agendapacientes (fechaa,fechab,fecha,fecha1,hora,idpaciente,nombre ,pago)" & _
"VALUES (" & Text0(1) & ",'" & Text7 & "','" & Text1(0) & "','" & Text2(202) & "','" & MaskEdBox1(2) & "','" & Text2(402) & "','" & Combo5 & "','" & Text2(502) & "')", BD, adOpenStatic, adLockOptimistic
MsgBox "Agenda Guardada", vbInformation, "Éxito"
Set RecSQL = Nothing
el unico problema q le encuentro es q tengo que hacer 22 procesos similares solo cambiando los texbox de donde tomo los registros, no se si hubiera alguna forma mas sencilla de hacerlo.......

saludos y gracias por las respuestas
  #6 (permalink)  
Antiguo 12/10/2008, 06:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Guardar registros en dos tablas

Puedes usar el modo del código que te deje puesto que el objeto ADODB.Recordset admite la funcion AddNew.

Set RecSQL = New ADODB.Recordset
RecSQL.Open "Agenda", BD, adOpenStatic, adLockOptimistic,adCmdTable

Una vez abierto el recordset

RecSQL.AddNew
RecSQL.Fields("Lo que sea")=me.Control
.
.
.
En el punto que quieras metes una llamada a otro procedimiento que inserta
en otra tabla pasandole el valor o los valores a insertar y en el procedimiento un codigo similar a este.
RecSQL.Update

No se si te Valdra yo lo hago asi para controlar mejor los campos que inserto puesto que con instrucciones sql tan lasrgas es facil equivocarse
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 07:55.