Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/07/2010, 14:15
rubencho5413
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Llenar data grid con sentencia sql en visual basic

Option Explicit

' variable Connection y Recordset
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset

Private Sub Form_Load()

With TabStrip1
.Tabs.Clear ' borra todos los tabs con el método Clear

Dim i As Integer
' crea un tab para cada letra del abecedario
For i = 65 To 90
.Tabs.Add , , Chr$(i)
Next
End With

' Crea y abre la conexión
Set cn = New ADODB.Connection

With cn
.CursorLocation = adUseClient
' cadena de conexión
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db1.mdb" & _
";Persist Security Info=False"
End With
' Crea y abre el recordset
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient

cn.Open
TabStrip1_Click
End Sub

Private Sub TabStrip1_Click()

Dim sql As String
Dim Letra As String

' Comprueba que el valor de la ficha no es nulo
If Not TabStrip1.SelectedItem Is Nothing Then
' letra a filtrar
Letra = TabStrip1.SelectedItem

' comando sql
sql = "SELECT * From tPaises " & _
"where paises Like " & _
"'" & Letra & "%'" & _
"Order By Paises"

'.. si el recordset está abierto lo cierra
If Not Rs Is Nothing Then
If Rs.State = adStateOpen Then
Rs.Close
End If
End If

' Trae los registro
Rs.Open sql, cn, adOpenStatic, adLockReadOnly

' Pasa los registro a la grilla
With MSHFlexGrid1
Set .DataSource = Rs

.ColWidth(0) = 800
.ColWidth(1) = 3000
End With
End If

End Sub

Intente esto