AS/400 - Macro en as400

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado 1 puesto en AS/400 (en relación al último mes)
Gráfica de AS/400

Macro en as400

Publicado por Henrry David Ramirez Lopez (2 intervenciones) el 17/07/2019 05:37:45
Buen día,

Estoy tratando de hacer una macro en as400, que lea cuál es la última línea de datos y agregue más datos desde la siguiente línea. Pero la verdad no tengo idea de cómo hacerlo. Ya tengo la macro que me agrega los datos, pero quiero que esa macro me reconozca desde donde debe empezar a ingresar los datos. Eso lo hago yo manualmente, bajo hasta la última línea y corro la macro Y me ingresa los datos que quiero. Pero sólo me hace falta eso, que me reconozca donde deba empezar. Una consulta más sería, como hago que me repita una tecla? Que presióne esa tecla un determinado número de veces. También utilizó otra macro que me toma datos de la pantalla del as400, como no se como hacer que me tome sólo líneas con datos, hice que me tomará 200 líneas, el problema es que al tomarme los datos me pega en el Excel Casillas en blanco que luego utilizó y ejecutó otra macro que me toma las celdas vacías que me crea la macro anterior. Espero puedan ayudarme. Muchas gracias.
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
Imágen de perfil de JUAN ARTURO GOMEZ PEREZ
Val: 2
Ha disminuido 1 puesto en AS/400 (en relación al último mes)
Gráfica de AS/400

Macro en as400

Publicado por JUAN ARTURO GOMEZ PEREZ (24 intervenciones) el 17/07/2019 09:15:43
Entiendo que quieres una Macro Excel que se comunique con DB2 (en el iSeries).

Para entrar desde excel al Entorno de Desarrollador presiona ALT+F11 y podras desarrollar con VB.NET las instrucciones necesarias para leer/manipular las celdas del excel.

Para conectarte al AS400 debes tener instalado el driver en tu PC, se instala el iSeries Access y ya puedes crear un ODBC para apuntar directo al DB2.

asi puedes leer cada valor y validarlo via SQL hacia DB2, por ejemplo con VB Applications (una parte de VB que con que se programa en Excel las macros):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'Conexion al As400
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "NOMBRE DEL ODBC", "MIUSER", "MIPASSWORD"
StrSql = "SELECT * FROM BibliotecaAS4000.CLIENTES"

Set rs = New ADODB.Recordset
rs.Open strSql, cnn

' El siguiente ciclo lee todos los registros y los carga a celdas del excel
Do While Not rs.EOF
    renglon = renglon + 1
    For i = 1 To rs.Fields.Count
        If rs.Fields(i - 1).Type = 131 Then
            Dim CPO1 As Double
            If Not IsNull(rs.Fields(i - 1)) Then
            CPO1 = rs.Fields(i - 1).Value
            Else
                CPO1 = 0
            End If
            ActiveSheet.Cells(renglon, i) = CPO1
        Else
 
            If Not IsNull(rs.Fields(i - 1)) Then
                On Error Resume Next
                ActiveSheet.Cells(renglon, i) = "'" & rs.Fields(i - 1)
                'Cells(renglon, i) = "'" & rs.Fields(i - 1)
                On Error GoTo 0
            End If
        End If
    Next
    rs.MoveNext
Loop
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

Macro en as400

Publicado por Eduardo (1 intervención) el 13/02/2024 14:33:33
Buen día
Necesito una macro que me traga los números del Excel y los pegue en así 400 esto sería para anular una póliza
Y después de que me los pega que en un carácter del as ponga el motivo que sería 55 lusgoe que pegue la fecha que está en el mismo Excel Columba b
Luego enter y enter para que termine la operatoria luego que siga con la segunda filas del Excel siempre haría lo mismo son 18 mil pólizas. Por favor me la podrías hacer y pasármela por mail
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