Gracias José por responder.

 

En realidad es extraño porqué no puedo hacer un “DELETE” o un “UPDATE”.

 

Te explico un poco la situación. Trabajo para un área administrativa de una 
institución bancaria, y por lo tanto no tengo acceso al AS400 como me gustaría 
tener, tipo administrador, pero hago lo mejor que puedo. Por razones de 
seguridad no puedo instalar “.NET”, así que trabajo el editor de visual en 
Excel (VBA)

 

Hoy hablé con el responsable del área y me dice que no es tan crítico el punto 
de “subir” información, así que puedo obviar un poco lo de borrar datos de un 
fichero. Y la razón es porque usan  “cwbtfxla.xll”  para subir datos. (pero me 
hubiese gustado programarlo)

 

Pero me gustaría, sino es mucha molestia que me explicaras si es posible, ¿cómo 
puedo comprobar si tengo “compromiso de control distinto de *NONE? y si los 
ficheros no tienen Journal. Pero, pero con algunas líneas de código o si no es 
posible así, entonces dónde podría revisar.

 

Gracias por tu atención.

 

Nota: Mañana haré otro correo (creo que es lo más adecuado) preguntando sobre 
¿cómo puedo mediante VBA o Visual Basic 6.0 saber si un Fichero y/o Query 
existe en una biblioteca? 

 

Gracias.

 

De: [email protected] 
[mailto:[email protected]] En nombre de Jose Vicente 
Cercos Barres
Enviado el: Martes, 26 de Enero de 2010 03:32 a.m.
Para: forum.help400
Asunto: Re: DELETE - UPDATE (AS400 y VBA)

 


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

 

__________ 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

Responder a