Hola!
Cómo están?
Pues yo otra vez dando lata. Resulta que cometí un error que me ha costado una gran pérdida de tiempo. En mi proyecto, debo conectarme a un servidor as400, tiene varias bibliotecas pero a mí me interesa la que se llama RHDBD_16 -es el mismo nombre para la base de datos-, de ahí uso las tablas LGBS, TEILS y STRUS, la dirección del servidor es xx.xx.xx.xxx. Mi erro fue conectarme por ODBC, era muy lento pero yo podía soportarlo: mis jefes, no. Así que cree una tabla con una consulta de creación de tabla en access y metí mucho código en el editor de vb. Ya tengo todos los cálculos hechos de este modo, pero ahora debo conectarme al servidor y jalar sólo la base de datos RHDB_16. He leído que por ADO es mucho más rápido. Busqué unas cosillas y ya establecí la conexión al servidor, pero al meterle una consulta no hace nada. No sé si alguien pueda darme un ejemplo o algo y explicarme porque como que no doy una con ADO.
Este es el código de la conexión:
Public cn400 As New ADODB.Connection
Public cm_APILIB_PARTS As New ADODB.Command
Public cm_APILIB_SPROC2 As New ADODB.Command
Public rs_APILIB_PARTSDATA As ADODB.Recordset
Public rs_APILIB_SPROC2 As ADODB.Recordset
Option Compare Database
______________________________________
Private Sub Comando0_Click()
Dim strPARTNO As String
cn400.Open "Provider=IBMDA400;Data Source=192.168.11.10;", "", ""
Set cm_APILIB_PARTS.ActiveConnection = cn400
strPARTNO = Texto3
cm_APILIB_PARTS.CommandText = "select STBGNR, STKOMP FROM RHDBD_16.STRUS WHERE STKOMP LIKE '*" & strPARTNO & "*'"
cm_APILIB_PARTS.CommandType = adCmdText
Set rs_APILIB_PARTSDATA = cm_APILIB_PARTS.Execute
Lista1.AddItem (rs_APILIB_PARTSDATA.Fields(1).Value)
End Sub
_____________________________________
Private Sub Class_Terminate()
Set rs_APILIB_PARTS = Nothing
Set rs_APILIB_SPROC2 = Nothing
Set cm_APILIB_SPROC2 = Nothing
Set cm_APILIB_PARTS = Nothing
If Not cn400 Is Nothing Then
cn400.Close
End Sub
Ojalá me puedan ayudar, no debe ser precisamente sobre as400, pero si se puede se agradece aún más; y miren que ya les estoy muy agradecida.
Saludos desde Querétaro, México y que tengan un extraordinariamente buen fin de semana.