Llenar un comboBox con base de datos access
Publicado por Jorge (1 intervención) el 15/10/2010 23:21:26
Hola amigos estoy pasando de Vb6.0 a vb.2008 y no logro hacerlo, haber si alguien me puede ayudar.
En Vb6.0 huso lo siguente:
__________________________________________
'En el Formulario
Set DataCombo_Línea.RowSource = LLenarObjeto("Select * From SubGruposInventario Where Ide_Grupo = " & DataCombo_Departamento.BoundText & " And Activo <> 0 Order By SubGrupo")
__________________________________________
'LLeno el objeto
Option Explicit
Public Function LLenarObjeto(ByVal SQL As String) As Recordset
Dim Micomando As ADODB.Command
Dim db As Database
On Error GoTo Err
If Dir(StrgRutaBD) = "" Then
MsgBox "¡Se Perdió la Conexión con la Base de Datos! Se Cerrará el Programa", , "¡Atención!"
ResoluciónPantalla "Salir"
Unload Form_PanelPrincipal
End
Exit Function
End If
TempString = SQL
conexion.Abrir
cn.BeginTrans
Set Micomando = New ADODB.Command
Set Micomando.ActiveConnection = cn
Micomando.CommandText = TempString
cn.CursorLocation = adUseClient
Set rs = Micomando.Execute
rs.Requery
If Not rs.BOF And Not rs.EOF Then
Set LLenarObjeto = rs
HayRegistros = "Sí"
Else
Set LLenarObjeto = rs
HayRegistros = "No"
End If
Set cn = Nothing
Set rs = Nothing
Ex:
Exit Function
Err:
If Err.Number <> 0 And Err.Number <> -2147467259 And Err.Number <> -2147217843 Then
Msj = "Error # " & Str$(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Function
___________________________________________
'Para abrir la BD
Option Explicit
Global cn As Connection
Global cmd As ADODB.Command
Public rs As Recordset
Global SQLconexion As String
Sub Abrir()
Dim Conexión2 As String
On Error GoTo Err
Conexión2 = App.Path & "\SAR.mdb"
'Sí la base de datos está abierta la cierra
Set cn = Nothing
Set rs = Nothing
'Abre la base de datos
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
If DSNTipo = 2 Then
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Conexión2 & ";Persist Security Info=False"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Conexión2 & ";Jet OLEDB:Database Password=" & ClaveBD & ""
DSNTipo = 0
Else
If Dir(StrgRutaBD) = "" Then
MsgBox "¡Se Perdió la Conexión con la Base de Datos! Se Cerrará el Programa", , "¡Atención!"
ResoluciónPantalla "Salir"
Unload Form_PanelPrincipal
End
Exit Sub
End If
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrgRutaBD & ";Persist Security Info=False"
'cn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & StrgRutaBD & ";Uid=Admin;Pwd=123"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & StrgRutaBD & ";Jet OLEDB:Database Password=" & ClaveBD & ""
DSNTipo = 0
End If
cn.Open
Ex:
Exit Sub
Err:
If Err.Number <> 0 And Err.Number <> -2147467259 And Err.Number <> 75 Then
Msj = "Error # " & Str$(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Sub
Sub Cerrar()
cn.Close
Set cn = Nothing
End Sub
Sub ejecutar(SQLconexion As String)
cn.BeginTrans
cn.Execute (SQLconexion)
cn.CommitTrans
End Sub
Sub transaccion(SQLconexion As String)
Call Abrir
Call ejecutar(SQLconexion)
Call Cerrar
End Sub
______________________________
En Vb6.0 huso lo siguente:
__________________________________________
'En el Formulario
Set DataCombo_Línea.RowSource = LLenarObjeto("Select * From SubGruposInventario Where Ide_Grupo = " & DataCombo_Departamento.BoundText & " And Activo <> 0 Order By SubGrupo")
__________________________________________
'LLeno el objeto
Option Explicit
Public Function LLenarObjeto(ByVal SQL As String) As Recordset
Dim Micomando As ADODB.Command
Dim db As Database
On Error GoTo Err
If Dir(StrgRutaBD) = "" Then
MsgBox "¡Se Perdió la Conexión con la Base de Datos! Se Cerrará el Programa", , "¡Atención!"
ResoluciónPantalla "Salir"
Unload Form_PanelPrincipal
End
Exit Function
End If
TempString = SQL
conexion.Abrir
cn.BeginTrans
Set Micomando = New ADODB.Command
Set Micomando.ActiveConnection = cn
Micomando.CommandText = TempString
cn.CursorLocation = adUseClient
Set rs = Micomando.Execute
rs.Requery
If Not rs.BOF And Not rs.EOF Then
Set LLenarObjeto = rs
HayRegistros = "Sí"
Else
Set LLenarObjeto = rs
HayRegistros = "No"
End If
Set cn = Nothing
Set rs = Nothing
Ex:
Exit Function
Err:
If Err.Number <> 0 And Err.Number <> -2147467259 And Err.Number <> -2147217843 Then
Msj = "Error # " & Str$(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Function
___________________________________________
'Para abrir la BD
Option Explicit
Global cn As Connection
Global cmd As ADODB.Command
Public rs As Recordset
Global SQLconexion As String
Sub Abrir()
Dim Conexión2 As String
On Error GoTo Err
Conexión2 = App.Path & "\SAR.mdb"
'Sí la base de datos está abierta la cierra
Set cn = Nothing
Set rs = Nothing
'Abre la base de datos
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
If DSNTipo = 2 Then
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Conexión2 & ";Persist Security Info=False"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Conexión2 & ";Jet OLEDB:Database Password=" & ClaveBD & ""
DSNTipo = 0
Else
If Dir(StrgRutaBD) = "" Then
MsgBox "¡Se Perdió la Conexión con la Base de Datos! Se Cerrará el Programa", , "¡Atención!"
ResoluciónPantalla "Salir"
Unload Form_PanelPrincipal
End
Exit Sub
End If
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrgRutaBD & ";Persist Security Info=False"
'cn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & StrgRutaBD & ";Uid=Admin;Pwd=123"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & StrgRutaBD & ";Jet OLEDB:Database Password=" & ClaveBD & ""
DSNTipo = 0
End If
cn.Open
Ex:
Exit Sub
Err:
If Err.Number <> 0 And Err.Number <> -2147467259 And Err.Number <> 75 Then
Msj = "Error # " & Str$(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msj, , "Error", Err.HelpFile, Err.HelpContext
End If
End Sub
Sub Cerrar()
cn.Close
Set cn = Nothing
End Sub
Sub ejecutar(SQLconexion As String)
cn.BeginTrans
cn.Execute (SQLconexion)
cn.CommitTrans
End Sub
Sub transaccion(SQLconexion As String)
Call Abrir
Call ejecutar(SQLconexion)
Call Cerrar
End Sub
______________________________
Valora esta pregunta


0