Error en el UPDATE en VB6 con access

Tengo un sistema que cree para un hospital, funciona muy bien en varas PCS, pero un una en especifico me manda errores al la hora de un UPDATE.
Supongo que la maquina tiene algo Raro, estaba pensando, pasarle todas las DLL y OCX de las pc donde programe el sistema.
¿Sera esto la solución?
Ademas quisiera preguntarte si el MDAC_TYP.exe, tendrá algo que ver, ¿si lo instalo otra vez?
Espero haber sido clara, porque esa pc ya me trael mal.

1 respuesta

Respuesta
1
Si me puedes poner algunos de los errores que te dan o que funcionamiento ves que no sea el correcto podré ayudarte :). ¿Escríbeme de nuevo y lo miramos juntos vale?
If Text1(1).Text = Text1(7).Text Then
pp3 = CLng(Text1(3).Text)
'iva = (CCur(Text1(1).Text) / 1.15)SE QUITA EL 15%
iva = CCur(Text1(1).Text)
If iCliente = 0 Then
If MsgBox("Esta seguro que los datos son correctos?", vbYesNo + vbQuestion, "VALIDANDO REGISTROS") = 6 Then
iNum = Maximo("Select Max(ide) From ESTUDIO")
'pp3 = cLng(Text1(3).Text)
'MsgBox (iva)
Cn.Execute "Insert into ESTUDIO(paciente,promotor,costo,puntos,cash,tarjeta,fechae,user,costot,estudioe,imprem,pacum,ide) Values ('" & PAC & "'," & prom & ",'" & iva & "','" & Text1(4).Text & "','" & Text1(5) & "','" & Text1(6) & "','" & DTPicker1.Value & "','" & Text2.Text & "','" & Text1(1) & "','" & Text3.Text & "','" & "N" & "','" & "N" & "','" & iNum & "')"
'Points = (iva / 2) * 0.1
Points = (iva * 0.05)
If Text1(4).Text > 0 Then
ppp = ((CLng(Text1(3).Text) + CLng(Points)) - CLng(Text1(4).Text))
Else
ppp = CLng(Text1(3).Text) + CLng(Points)
End If
'ppm = cLng(Text1(2).Text) + cLng(Points)
Cn.Execute "Update PACIENTES set puntosp=" & ppp & " where idp= " & PAC
'////////////////////////////////////////////////////////////////////////
CargaRecordSet ("select cuota,acumula,idm from MEDICOS where idm =" & prom)
cuotax = Rs!cuota
acumulax = Rs!acumula + CLng(iva)
'acumulax = Rs!acumula
Cn.Execute "Update MEDICOS set acumula=" & acumulax & " where idm= " & prom
If acumulax > cuotax Then
'ppm = acumulax * 0.05
'ppm = cLng(Text1(2).Text) + ((acumulax * 0.05) - ((acumulax - cLng(iva)) * 0.05))
If (acumulax - CLng(iva)) <= cuotax Then
ppm = acumulax * 0.05
Else
ppm = CLng(Text1(2).Text) + CLng(Points)
End If
Cn.Execute "Update MEDICOS set puntosm=" & ppm & " where idm= " & prom
Cn.Execute "Update ESTUDIO set pacum='" & "S" & "' where ide= " & iNum
End If
'acumulax = acumulax + cLng(Text1(1).Text)
'Cn.Execute "Update MEDICOS set acumula=" & acumulax & " where idm= " & prom
If Text1(4).Text > 0 And Text1(4).Text <> "" Then
impreciones
End If
LimpiaCampos
Else
End If
Else
puntotos
end if
Este es mi código para guardar un nuevo registro. Te comento que me funciona muy bien en varias PCS, excepto en una, donde me manda error en update, en el código te lo pongo en negrita. Es esa parte la que no funciona Gracias, espero me puedas ayudar y gracias por tu respuesta.
Gracias
El código veo que está perfecto, pero no haces un control de errores del código, lo cuál es muy útil para ver con claridad que está fallando. También sería muy recomendable poner trazas y ver qué estamos enviando en cada parte del código. Así controlaríamos muchísimo más nuestro código.
A parte de eso, si el error que te aparece en pantalla (algo así como Error de Sistema &H...) Será porque esa versión de windows no tiene las DLL u OCX necesarios en el ordenador.
Recuerda que estos componentes se guardan en C:\WINDOWS\system32
En conclusión, utiliza On Error para el control de errores, pon trazas en todo el código (las imprimes en un fichero txt en C: por ejemplo), empaqueta el proyecto con los OCX y DLLs necesarios (puedes probar primero a ponerlos a mano).
No tengo instalado el vb6 sino lo probaba contigo, pero suponiendo que estés usando un datagrid se usa el msdatgrd.ocx.
Mucha suerte, ya me contarás :)
De hecor creo el intalable con todas las dll y ocx necesarias, y así la instalo en todas pas pcs, en fin voy a tratar de meterlas manualmente en el sistema 32 a ver que rerulta y si tengo el on error, por eso me manda el error exacto en ese update. Voy a hacerlo y te cuente BYE
Mucha suerte :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas