Visual Basic - Solo para Genios Programadores (Insert Into)

Life is soft - evento anual de software empresarial
   
Vista:

Solo para Genios Programadores (Insert Into)

Publicado por marce (21 intervenciones) el 10/06/2011 16:17:14
Buenas, realmente solo un genio creo que puede ayudarme a resolver esto...

Tengo una Formulario de Factura con varios TextBox Ej:


Codigo1 Descrip1 Costo1 Vendido 1 (estos son los textbox del primer renglon)

Codigo2 Descrip2 Costo2 Vendido 2 (estos son los textbox del 2do renglon)

Codigo3 Descrip3 Costo3 Vendido 3 (estos son los textbox del tercer renglon)

Cuando el usuario presiona grabar en un boton, tengo el siguiente codigo:


Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Factura\Articulos.mdb;Persist Security Info=False"
Set rs = New ADODB.Recordset
strsql3 = "Insert Into CONSUMOS (cod_art, descrip_art, costo_art, cantidad)"
strsql3 = strsql3 & "Select codigo1, descrip1, costo1, vendido1 from factura IN C:\Factura\consumo.mdb"
rs.Open strsql3, cn
cn.Close
Set cn = Nothing

Esto funciona Perfecto....! pero solo me graba los datos del Renglón 1 (codigo1, descrip1 etc)
Como puedo hacer para que me registre en la tabla consumos todos los rennglones de la factura?
Con un bucle..? como...? Por favor...podrian ayudarme?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Solo para Genios Programadores (Insert Into)

Publicado por Fernando (6 intervenciones) el 25/06/2011 04:17:40
A ver... Creo que entiendo lo que vos queres hacer.
Y el codigo seria para mi este:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
dim i as integer 'linea agregada

for i =1 to 3 'linea agregada
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Factura\Articulos.mdb;Persist Security Info=False"
Set rs = New ADODB.Recordset
strsql3 = "Insert Into CONSUMOS (cod_art, descrip_art, costo_art, cantidad)"
strsql3 = strsql3 & "Select codigo & "i" & ", descrip & "i" & ", costo & "i" & ", vendido & "i" & " from factura IN C:\Factura\consumo.mdb"
rs.Open strsql3, cn
cn.Close
Set cn = Nothing
next i

Espero que eso sea lo que queres, sino comenta y veo como lo cambio para que se ajuste a lo que vos queres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solo para Genios Programadores (Insert Into)

Publicado por ingeniero carlos proyectoscac@hotmail.com (39 intervenciones) el 22/06/2011 21:02:38
bueno el problema es de indio o de flecha, buena pensaria que es de indio.

bueno se puede hacer de varias formas
las mas facil es la siguiente

select * from tablas where condicion

recoremo la informacion mas o menos asi

do while not rs.eof
inser into tabla (campo1,campo2,campo3) values (rs!campo1,rs!campo2,rs!campo3)
loop
rs.close

espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solo para Genios Programadores (Insert Into)

Publicado por marce (21 intervenciones) el 22/06/2011 23:04:26
No entendí lo de Indio y flecha...pero por tu respuesta seguramente serás el búfalo atrapado por la flecha que lanzó el indio...es decir...lo ultimo de la cadena....lo peor...

Podrías no responder antes de contestar estupideces...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar