Ayuda SQL con VB6

HOla estoy desesperado con esto de poder accesar de vb a sql y estoy recién en esto de la programación con vb por lo que he leído lo ise con un odbc no si es lo mejor, pero me salio un mensaje de error que dice,
[ADODC] no recordsource specfied, [aDO] command text was not set for the command object
Pero después igual me muestra la información que lo puse con un MSHFlexGrid1 y sale ok.
Mi problema es este mensaje.
Muchas gracias y disculpa
Atentamente
Osvaldo
[email protected]
[email protected]

1 Respuesta

Respuesta
1
Lo que me parece es que estas utilizando el control ado, te recomiendo que programes con ado pero solo en código por ejemplo lo que dice el error es que no enlazastes en recordsource del control con la tabla, te mando un código para función ojala te sirva
Conectar con SQL Server
Function Conecta_SQL(Conexion As ADODB.Connection, AperturaExclusiva As Boolean) As Boolean
On Error GoTo ErrorConecta_SQL
Conecta_SQL = False
Set Conexion = New ADODB.Connection
Conexion.CommandTimeout = TiempoEsperaConexion
If AperturaExclusiva Then
'Se abrira la conexion en modo exclusibo
Conexion.Mode = adModeShareDenyNone
Conexion.IsolationLevel = adXactIsolated
End If
Cnct = "Provider=SQLOLEDB.1";Data Source=" & SERVER & ";Initial Catalog=" & DATABASE _
& ";User Id=" & USUARIO & ";Password=" & CLAVE & ";"
Conexion.Open Cnct
Call EjecutaSQL(Conexion, " SET CONCAT_NULL_YIELDS_NULL OFF ", Tipo)
Conecta_SQL = True
Exit Function
ErrorConecta_SQL:
MuestraError "Conecta_SQL", Err, Error
End Function
Conectar con MS Access
Function Conecta_ACCESS(Conexion As ADODB.Connection, AperturaExclusiva As Boolean) As Boolean
Dim strCnn As String
On Error GoTo errorConecta_ACCESS
Conecta_ACCESS = False
NombreDB = "C.\NombreBD.MDB"
If Dir(NombreDB) <> "" Then
' Abre una conexión.
Set Conexion = New ADODB.Connection
'Para conectar con BD Access 2000 usar el proveedor Microsoft.Jet.OLEDB.4.0.
'Para conectar con Access 97 usar Microsoft.Jet.OLEDB.3.51
Conexion.PROVIDER = Microsoft.Jet.OLEDB.4.0
If AperturaExclusiva Then
'Se abrira la conexion en modo exclusibo
Conexion.Mode = adModeShareExclusive
Else
Conexion.Mode = adModeUnknown
End If
Conexion.Open NombreDB, "admin", ""
Conecta_ACCESS = True
Else
MsgBox "Base de datos no activa.", vbExclamation, "Atención"
End If
Exit Function
errorConecta_ACCESS:
If Err = 3343 Or Err = -2147467259 Then
MsgBox "Base de datos dañada.", vbCritical, "Base de Datos"
Conecta_ACCESS = True
Else
MuestraError "Conecta_ACCESS", Err, Error
End If
End Function
Crea Recordset ADO
Function CreaRecordset(cnn As ADODB.Connection, rsAdo As ADODB.Recordset, SQL As String) As Boolean
On Error GoTo ErrorCreaData
CreaRecordset = False
Set rsAdo = New ADODB.Recordset
rsAdo.CursorType = adOpenKeyset
rsAdo.CursorLocation = adUseClient
'Si queremos actualizar datos desde nuestra aplicación y se vean en la BD debeis poner rsAdo.LockType = adLockOptimistic
rsAdo.LockType = adLockOptimistic
rsAdo.Open SQL, cnn, , , adCmdText
CreaRecordset = True
Exit Function
ErrorCreaData:
MuestraError "CreaData", Err, Error
End Function
Crea AdoControl
Sub CreaAdo(Conexion As ADODB.Connection, rsAdo As Adodc, SQL As String)
Dim rs As ADODB.Recordset
On Error GoTo ErrorCreaADO
If CreaRecordset(Conexion, rs, SQL) Then
Set rsAdo.Recordset = rs
End If
Exit Sub
ErrorCreaADO:
MuestraError "CreaADO", Err, Error
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas