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