Problemas con conexiones ado
Como estás
He visto tus respuestas y me han parecido muy acertadas y muy claras. Espero me puedas ayudar:
Estoy desarrollando una aplicación manejada con el DED. La tengo en una red con un servidor con SQL 7.0 y Visual Basic 6.0 en mi Estación de trabajo. Tengo unos formularios de consulta de varias tablas (a veces 2 y a veces 3) con ADODC Y DATAGRIDS. Para explicarlo mejor: uno de los formularios maneja 2 tablas, cada una, con ADODC. El primer adodc muestra unos campos de la primera tabla y el segundo adodc da origen a un DATAGRID con campos de la segunda tabla. En el primero tengo la propiedad connection string con una cadena de conexión así :
FILE NAME=C:\Subsidio\ConTraEmp.dsn
como record source:
Select * from dbo.empresas;
Y en el segundo adodc tengo la propiedad connection string con un origen de conexión (usar archivo de vinculo a datos) con la misma cadena anteriormente mencionada.
En record source :
SELECT IdTrabajador, Apellidos, Nombres, FechaAfiliacion, FechaNacimiento, EstadoCivil, Sexo, Categoria, sueldo, NumeroBenef, CuotasOrd, cuotasesp, status, AñoSuspension, Messuspension,CobroSimultaneo FROM dbo.Afiliados ORDER by Apellidos;
-----------------------------------------------------------------
Tengo dentro de los procedimientos lo siguiente:
------------------
Option Explicit
Private Sub Adodc1_EndOfRecordset(fMoreData As Boolean, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
Adodc1.Recordset.MoveLast
End Sub
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'
Dim strSQL As String
Dim strClave As String
'
' Cree una selección por mostrar en la cuadrícula
If "" & Adodc1.Recordset.Fields("IdEmpresa") = "" Then
strClave = "0"
Else
strClave = Adodc1.Recordset.Fields("IdEmpresa")
End If
'
strSQL = "SELECT IdTrabajador, Apellidos,Nombres, " _
& "FechaAfiliacion, FechaNacimiento, sexo, Categoria, Sueldo, CuotasOrd, cuotasEsp, status, CobroSimultaneo, añoSuspension, mesSuspension " _
& " from dbo.afiliados WHERE IdEmpresa=" & strClave
Adodc2.RecordSource = strSQL ' Asigne el nuevo origen de registros
Adodc2.Refresh ' Actualice su información
Set Dbgrid.DataSource = Adodc2
Dbgrid. ReBind ' Actualice la cuadrícula
'
End Sub
-----------------
Todo esto me funciona bien en este equipo. Pero cuando llevo esta aplicación a mi computador personal que también tiene SQL 7.0 Y VISUAL BASIC 6.0; pero que tiene un nombre de servidor de SQL diferente me da el siguiente error de compilación en el evento :
Private Sub Adodc1_EndOfRecordset :
La declaración del procedimiento no coincide con la descripción del evento o procedimiento del mismo nombre.
Preguntas:
.- ¿Qué puede estar pasando?
.- ¿Puedo cambiar el nombre de mi servidor de SQL sin reinstalarlo?
. - ¿Puedo cambiar el nombre de mi máquina sin instalar el sistema operativo? (Windows/98 es el que tengo en este momento.)
.- ¿Debo trabajar con otras conexiones estos formularios?
Nota: Antes funcionaba en mi equipo, pero después de que tuve que reinstalar el sistema operativo y todo lo demás; no volvió a funcionar. Y el enredo que se me presentó fue al dar el nombre a la maquina y al servidor de SQL.
Si se necesitan más aclaraciones.
He visto tus respuestas y me han parecido muy acertadas y muy claras. Espero me puedas ayudar:
Estoy desarrollando una aplicación manejada con el DED. La tengo en una red con un servidor con SQL 7.0 y Visual Basic 6.0 en mi Estación de trabajo. Tengo unos formularios de consulta de varias tablas (a veces 2 y a veces 3) con ADODC Y DATAGRIDS. Para explicarlo mejor: uno de los formularios maneja 2 tablas, cada una, con ADODC. El primer adodc muestra unos campos de la primera tabla y el segundo adodc da origen a un DATAGRID con campos de la segunda tabla. En el primero tengo la propiedad connection string con una cadena de conexión así :
FILE NAME=C:\Subsidio\ConTraEmp.dsn
como record source:
Select * from dbo.empresas;
Y en el segundo adodc tengo la propiedad connection string con un origen de conexión (usar archivo de vinculo a datos) con la misma cadena anteriormente mencionada.
En record source :
SELECT IdTrabajador, Apellidos, Nombres, FechaAfiliacion, FechaNacimiento, EstadoCivil, Sexo, Categoria, sueldo, NumeroBenef, CuotasOrd, cuotasesp, status, AñoSuspension, Messuspension,CobroSimultaneo FROM dbo.Afiliados ORDER by Apellidos;
-----------------------------------------------------------------
Tengo dentro de los procedimientos lo siguiente:
------------------
Option Explicit
Private Sub Adodc1_EndOfRecordset(fMoreData As Boolean, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
Adodc1.Recordset.MoveLast
End Sub
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'
Dim strSQL As String
Dim strClave As String
'
' Cree una selección por mostrar en la cuadrícula
If "" & Adodc1.Recordset.Fields("IdEmpresa") = "" Then
strClave = "0"
Else
strClave = Adodc1.Recordset.Fields("IdEmpresa")
End If
'
strSQL = "SELECT IdTrabajador, Apellidos,Nombres, " _
& "FechaAfiliacion, FechaNacimiento, sexo, Categoria, Sueldo, CuotasOrd, cuotasEsp, status, CobroSimultaneo, añoSuspension, mesSuspension " _
& " from dbo.afiliados WHERE IdEmpresa=" & strClave
Adodc2.RecordSource = strSQL ' Asigne el nuevo origen de registros
Adodc2.Refresh ' Actualice su información
Set Dbgrid.DataSource = Adodc2
Dbgrid. ReBind ' Actualice la cuadrícula
'
End Sub
-----------------
Todo esto me funciona bien en este equipo. Pero cuando llevo esta aplicación a mi computador personal que también tiene SQL 7.0 Y VISUAL BASIC 6.0; pero que tiene un nombre de servidor de SQL diferente me da el siguiente error de compilación en el evento :
Private Sub Adodc1_EndOfRecordset :
La declaración del procedimiento no coincide con la descripción del evento o procedimiento del mismo nombre.
Preguntas:
.- ¿Qué puede estar pasando?
.- ¿Puedo cambiar el nombre de mi servidor de SQL sin reinstalarlo?
. - ¿Puedo cambiar el nombre de mi máquina sin instalar el sistema operativo? (Windows/98 es el que tengo en este momento.)
.- ¿Debo trabajar con otras conexiones estos formularios?
Nota: Antes funcionaba en mi equipo, pero después de que tuve que reinstalar el sistema operativo y todo lo demás; no volvió a funcionar. Y el enredo que se me presentó fue al dar el nombre a la maquina y al servidor de SQL.
Si se necesitan más aclaraciones.
1 respuesta
Respuesta de totigo
1