Disculpa, no me había dado cuenta que si podías hacer Insert. Es muy raro.
Para descartar que el fichero contra el que actúas tiene algo especial,
crea uno de cero e intenta añadir, borra, y actualizar.
Yo utilizo .Net y uso OleDbConnection en lugar de ADODB. También utilizo
el driver IBMDASQL en lugar del IBMDA400. Revisa que tengas la última PTF
del Client Access instalada.
Te adjunto un fragmento de código para que veas la cadena de conexión:
Usuario = frmLogin.glUsuario
Pwd = frmLogin.glPassword
'Conectar con AS400
Dim S As String
S = "Provider=IBMDASQL.DataSource.1;" _
& "Persist Security Info=False;" _
& "User ID=" & Trim(Usuario) & ";" _
& "Password=""" & Trim(Pwd) & """;" _
& "Data Source=MyAS400;Protection Level=None;Extended
Properties="""";Initial Catalog=AS400;" _
& "Transport Product=Client Access;SSL=DEFAULT;Force
Translate=65535;" _
& "Default Collection=MYLIB;Convert Date Time To Char=TRUE;" _
& "Catalog Library List=MYLIB;Cursor Sensitivity=3;Use SQL
Packages=False;" _
& "SQL Package Library Name="""";SQL Package Name="""";" _
& "Add Statements To SQL Package=True;Unusable SQL Package
Action=1;" _
& "Block Fetch=True;Data Compression=True;Sort Sequence=0;Sort
Table Name="""";" _
& "Sort Language ID="""";Query Options File
Library="""";Trace=0;Hex Parser Option=0;" _
& "Maximum Decimal Precision=31;Maximum Decimal
Scale=31;Minimum Divide Scale=0"
Me.OleDbConnection1.ConnectionString = S
Try
Me.OleDbConnection1.Open()
Me.OleDbConnection1.Close()
UsuarioAS400 = True
Catch ex As Exception
MsgBox("Error al conectar: " + ex.Message)
Me.OleDbConnection1.ConnectionString = ""
End Try
Un Saludo.
Jose Vicente Cercós.
Jose Vicente Cercos Barres <[email protected]>
Enviado por: [email protected]
26/01/2010 09:16
Por favor, responda a
"forum.help400" <[email protected]>
Para
"forum.help400" <[email protected]>
cc
Asunto
Re: DELETE - UPDATE (AS400 y VBA)
Hola Ricardo.
Lo primero sería comprobar que tienes permisos de escritura sobre
los ficheros, lo segundo comprobar si tus ficheros no tienen journal y tu
cadena de conexión tiene control de compromiso distinto de *NONE, por
tanto cuando vas a hacer consultas de actualización al no detectar journal
falla. El código no tiene mala pinta. Revisa tu cadena de conexión a
fondo.
Un Saludo.
Jose Vicente Cercós.
<[email protected]>
Enviado por: [email protected]
26/01/2010 04:29
Por favor, responda a
"forum.help400" <[email protected]>
Para
"'forum.help400'" <[email protected]>
cc
Asunto
DELETE - UPDATE (AS400 y VBA)
Hola a Todos, mi nombre es Ricardo.
Actualmente estoy haciendo una aplicación de interfaz en mi trabajo (
VBA-Excel) la cual se debe conectar al AS400. Hasta ahora el único
problema que tengo es este:
¿cómo borrar todos los datos de un archivo?
Resulta que la empresa en la cual trabajo usan el AS400 y tienen como 58
queries para realizar muchos informes. Usan un complemento bien conocido
llamado “cwbtfxla” para bajar y subir datos al AS400. Hace un mes me
contrataron y propuse hacer un interfaz o un menú para subir, bajar y
editar datos. Pero tengo un problema en cuanto a actualizar y/o borrar
datos.
Puedo ingresar registros con “INSERT INTO CLIENTE ( CUENTA) VALUES
(‘377704697826’)” pero cuando uso instrucciones SQL como “UPDATE o
DELETE”; o me envía un error, o se cierra Excel o simplemente se queda
colgado y tengo que teclear CTRL+ALT+SUPR
Pongo un código típico que debería funcionar, pero al llegar a
“MYCONN.EXECUTE (SQL)” me da error. ¿qué hace falta?:
Sub Borrar_Datos_Del_Fichero()
Dim SQL As String
Dim MyConn As ADODB.Connection
SQL = "DELETE FROM CLIENTE.CUENTA"
Set MyConn = New ADODB.Connection
MyConn.Mode = adModeReadWrite
MyConn.CursorLocation = adUseClient
MyConn.ConnectionString = "Provider=IBMDA400;Data source=123.105.2.5;User
Id=USUARIOX;Password=CLAVEX"
MyConn.Open
MyConn.Execute (SQL)
MyConn.Close
End Sub
Nota 1: No tengo ningún problema en la conexión, pues puedo importar e
insertar datos.
Nota 2: Tengo dos semanas buscando por todo internet y he probado una
docena de posibilidades y nada
Gracias por toda la ayuda que me puedan brindar, pues encontrar trabajo no
es fácil en estos tiempos, pero con Fe todo se puede.
__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4805 (20100125) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400