Visual Basic - Actualiozar tabla desde un datagrid

Life is soft - evento anual de software empresarial
 
Vista:

Actualiozar tabla desde un datagrid

Publicado por David (4 intervenciones) el 21/09/2009 21:08:30
Buenas tardes, les hago llegar una duda tipo cangrejo que tengo, les planteo la situacion.

Tengo unos datos en una bd en sql server, ya realice el query que me extrae esa informacion de esa bd, con el query ejecutado traigo la informacion a un recordset, el cual monte en un datagrid en visual basic 6.0, ahora bien, esa informacion que tengo en el datagrid, quiero agregarla a una tabla ya creada en access, es decir, lo que quiero es pasar la informacion q esta en el datagrid a la tabla de acces, pero no logro hacerlo por más que intento por diferentes metodos, aqui les dejo el codigo que tengo:

Private Sub Command1_Click()
On Error GoTo err_
conextion
sql = "SELECT contable1.dbo.comprobantes.cuenta, comun.dbo.proveedor.Provnombre , Contable1.dbo.Comprobantes.id_numero_documento, Contable1.dbo.Comprobantes.debe,Contable1.dbo.Comprobantes.haber,Contable1.dbo.Comprobantes.fecha_comprobante, Contable1.dbo.Comprobantes.id_tipo_operacion FROM Contable1.dbo.Comprobantes INNER JOIN comun.dbo.Proveedor ON Contable1.dbo.Comprobantes.cuenta = comun.dbo.Proveedor.ProvCuentaContable WHERE (Contable1.dbo.Comprobantes.cuenta LIKE '21201%' OR"
SQL3 = sql & " OR Contable1.dbo.Comprobantes.cuenta LIKE '21215%' OR Contable1.dbo.Comprobantes.cuenta LIKE '21216%' or Contable1.dbo.Comprobantes.cuenta LIKE '21217%' OR Contable1.dbo.Comprobantes.cuenta LIKE '21700%') AND (Contable1.dbo.Comprobantes.id_tipo_operacion LIKE 'REG') AND (Contable1.dbo.Comprobantes.fecha_comprobante BETWEEN '01/01/2009' AND '30/06/2009')ORDER BY comun.dbo.proveedor.provnombre, contable1.dbo.comprobantes.id_numero_documento,contable1.dbo.comprobantes.id_tipo_operacion "
rec2.CursorLocation = adUseClient
rec2.LockType = adLockBatchOptimistic
rec2.ActiveConnection = cn
rec2.Open SQL3
'*********' hasta aqui logre capturar la informacion que me interesa, ahora la monto en el datagrid*******************'
set datagrid1.datasource= rec2

'****ahora bien, lo que prtendo hacer es recorrer todo el recordset e ir insertando esa informacion en la base de datos access que tengo ya creada con las columnas exactas a las que tengo en el recordset**********************'

For i = 0 To rec2.RecordCount - 1
DMD = " insert into cuentas_por_pagar_reg cuenta,proveedor,factura,debe,haber,fecha_registro,id_tipo_operacion)
VALUES ('" & rec2!cuenta & "', '" & rec2!provnombre & "',
'" & rec2!id_numero_documento & "',
" & rec2!debe & "," & rec2!haber & ",
" & rec2!fecha_comprobante & ", '" & rec2!id_tipo_operacion & "')"
nex i
Exit Sub
err_:
MsgBox Err.Description + "Si problema persiste, comuníquese con el departamento de sistemas", vbCritical, "Drogería La Principal"
On Error Resume Next

ok, como ven aparentemente todo marcha bien, pero no me deja hacer el insert, el error exacto q da es : el numero de valores de la consulta y el numero de campos destino son diferentes" ahora bien se que esto sucede cuando por ejemplo especificamos 3 campos en el insert y al parametro values le pasamos 5, obvio que es un error, pero en este caso tengo 7 en ambas listas de parametros pasados a la funcion insert, ahora no se xq el error.

les dejo otros datos importantes, la tabla en acces tiene los campos:
CAMPO TIPO DE DATOS
cuenta texto
proveedor texto
factura texto
debe numerico (doble)
haber numerico(doble)
fecha_registro fecha/hora
id_tipo_operacion texto.

agradeciendo de antemano su atencion y colaboracion prestada... David.
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

RE:Actualiozar tabla desde un datagrid

Publicado por Esperanza (38 intervenciones) el 25/09/2009 14:25:27
Hola, supongo que a estas alturas ya lo habrás resuelto. Acabo de entrar en el foro y veo que falta el paréntesis de comienzo de la lista de campos en el insert:

insert into cuentas_por_pagar_reg cuenta,proveedor,factura,debe,haber,fecha_registro,id_tipo_operacion)

Un saludo.
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

RE:Actualiozar tabla desde un datagrid

Publicado por David (4 intervenciones) el 25/09/2009 21:13:44
Gracias por tu observación, ya lo resolví sin embargo gracias de todas formas. Al final de todo terminé cambiando el código y coloqué un controlador adodc y la actualicé por ahi.
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