Instrucciones para enlazar en Visual Basic una base de datos creada en el Access 2000
O días de antemano te agradezco el tiempo de leer este mensaje mi problema es el siguiente estoy programando en visual basic 6 (soy nueva en este lenguaje) y tengo una base de datos en access 2000 la cual la tengo mediante un adodc el problema es que necesito de alguna enlazar la consulta que me muestra en el combo2 al datagrid1 pero hasta ahorita no he tenido resultado, a su vez necesito hacer las siguientes operaciones en la datagrid2
Private Sub Text3_Change()
If Val(Text3.Text) < Val(Text2.Text) And Val(Text2.Text) >= 100000 And Val(Text3.Text) < 100000 Then
Text4.Text = 1000000 - Val(Text2.Text) + Val(Text3.Text)
Else
If Val(Text3.Text) < Val(Text2.Text) And Val(Text2.Text) >= 100000 And Val(Text3.Text) >= 100000 Then
Text4.Text = 1000000 - Val(Text2.Text) + Val(Text3.Text)
Else
Text4.Text = Val(Text3.Text) - Val(Text2.Text)
End If
End If
If Val(Text4.Text) < 0 Then
Text4.BackColor = vbRed
Else
If Val(Text3.Text) < Val(Text2.Text) Then
Text4 = MsgBox("Hay un error en la lectura actual", vbCritical)
Text4.BackColor = vbRed
Else
If Val(Text3.Text) > Val(Text2.Text) Then
Text4.BackColor = vbGreen 'CAMBIAR POR VERDE
End If
End If
End If
End Sub
Y este es el codigo que tengo en el programa
Public Sub Combo1_Click()
If Combo1.Text = "No hay ninguna estación seleccionada " Then Exit Sub
Combo3.ListIndex = Combo1.ListIndex
LINEAS.RecordSource = "SELECT * FROM TORNIQUETES WHERE TORNIQUETES.ID =" & Val(Combo3.Text)
LINEAS.Refresh
Combo2.Clear
Do While Not LINEAS.Recordset.EOF
Combo2.AddItem LINEAS.Recordset.Fields(2)
LINEAS.Recordset.MoveNext
Loop
Combo2.ListIndex = 0
End Sub
Private Sub Command1_Click()
Load Form3
Form3.Show
Unload Me
End Sub
Private Sub DataGrid1_Click()
If Combo1.Text = "No hay ninguna estación seleccionada " Then Exit Sub
Combo3.ListIndex = Combo1.ListIndex
LINEAS.RecordSource = "SELECT * FROM TORNIQUETES WHERE TORNIQUETES.ID =" & Val(Combo3.Text)
LINEAS.Refresh
Do While Not LINEAS.Recordset.EOF
DataGrid1.Items.Add(dtcolumns(0).LINEAS.Recordset.Fields(2)
LINEAS.Recordset.MoveNext
Loop
End Sub
Private Sub DataGrid2_Click()
Set cn = New Connection
cn.CursorLocation = adUseClient
' usa la base de datos Nwind del directorio de visual basic
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\SLT.MDB;Persist Security Info=False"
' Abre la conexión ado
Con.Open
' Crea un nuevo recordset
Set rs = New Recordset
' Abre el conjunto de registros
rs.Open "Select FECHA,LINEA,ESTACION,TORNIQUETE,USUARIOS_INGRESARON,LECTURA_ACTUAL From SLT ", _
cn, adOpenStatic, adLockOptimistic
' enlaza el datagrid
Set DataGrid2.DataSource = rs
End Sub
Private Sub Form_Load()
On Error GoTo captura
LINEAS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\slt.mdb;Persist Security Info=False"
LINEAS.RecordSource = "select * from lineas"
LINEAS.Refresh
Combo1.AddItem "No hay ninguna estación seleccionada "
Combo2.AddItem "No hay ningun torniquete seleccionado "
Exit Sub
captura:
buscabase.DialogTitle = "Indica la ruta de la base de datos"
buscabase.ShowOpen
LINEAS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
buscabase.FileName & ";Persist Security Info=False"
LINEAS.RecordSource = "select * from lineas"
LINEAS.Refresh
End Sub
Private Sub Option1_Click(Index As Integer)
Combo1.Clear
Combo2.Clear
Combo3.Clear
X = Index + 1
If X = 10 Then X = "A"
If X = 11 Then X = "B"
If X = 11 Then X = "C"
LINEAS.RecordSource = "SELECT * FROM LINEAS WHERE LINEAS.LINEA = '" & X & "'"
LINEAS.Refresh
Do While Not LINEAS.Recordset.EOF
Combo1.AddItem LINEAS.Recordset.Fields(1)
Combo3.AddItem LINEAS.Recordset.Fields!orden
LINEAS.Recordset.MoveNext
Loop
Combo1.ListIndex = 0
End Sub
Private Sub Text3_Change()
If Val(Text3.Text) < Val(Text2.Text) And Val(Text2.Text) >= 100000 And Val(Text3.Text) < 100000 Then
Text4.Text = 1000000 - Val(Text2.Text) + Val(Text3.Text)
Else
If Val(Text3.Text) < Val(Text2.Text) And Val(Text2.Text) >= 100000 And Val(Text3.Text) >= 100000 Then
Text4.Text = 1000000 - Val(Text2.Text) + Val(Text3.Text)
Else
Text4.Text = Val(Text3.Text) - Val(Text2.Text)
End If
End If
If Val(Text4.Text) < 0 Then
Text4.BackColor = vbRed
Else
If Val(Text3.Text) < Val(Text2.Text) Then
Text4 = MsgBox("Hay un error en la lectura actual", vbCritical)
Text4.BackColor = vbRed
Else
If Val(Text3.Text) > Val(Text2.Text) Then
Text4.BackColor = vbGreen 'CAMBIAR POR VERDE
End If
End If
End If
End Sub
Y este es el codigo que tengo en el programa
Public Sub Combo1_Click()
If Combo1.Text = "No hay ninguna estación seleccionada " Then Exit Sub
Combo3.ListIndex = Combo1.ListIndex
LINEAS.RecordSource = "SELECT * FROM TORNIQUETES WHERE TORNIQUETES.ID =" & Val(Combo3.Text)
LINEAS.Refresh
Combo2.Clear
Do While Not LINEAS.Recordset.EOF
Combo2.AddItem LINEAS.Recordset.Fields(2)
LINEAS.Recordset.MoveNext
Loop
Combo2.ListIndex = 0
End Sub
Private Sub Command1_Click()
Load Form3
Form3.Show
Unload Me
End Sub
Private Sub DataGrid1_Click()
If Combo1.Text = "No hay ninguna estación seleccionada " Then Exit Sub
Combo3.ListIndex = Combo1.ListIndex
LINEAS.RecordSource = "SELECT * FROM TORNIQUETES WHERE TORNIQUETES.ID =" & Val(Combo3.Text)
LINEAS.Refresh
Do While Not LINEAS.Recordset.EOF
DataGrid1.Items.Add(dtcolumns(0).LINEAS.Recordset.Fields(2)
LINEAS.Recordset.MoveNext
Loop
End Sub
Private Sub DataGrid2_Click()
Set cn = New Connection
cn.CursorLocation = adUseClient
' usa la base de datos Nwind del directorio de visual basic
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\SLT.MDB;Persist Security Info=False"
' Abre la conexión ado
Con.Open
' Crea un nuevo recordset
Set rs = New Recordset
' Abre el conjunto de registros
rs.Open "Select FECHA,LINEA,ESTACION,TORNIQUETE,USUARIOS_INGRESARON,LECTURA_ACTUAL From SLT ", _
cn, adOpenStatic, adLockOptimistic
' enlaza el datagrid
Set DataGrid2.DataSource = rs
End Sub
Private Sub Form_Load()
On Error GoTo captura
LINEAS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\slt.mdb;Persist Security Info=False"
LINEAS.RecordSource = "select * from lineas"
LINEAS.Refresh
Combo1.AddItem "No hay ninguna estación seleccionada "
Combo2.AddItem "No hay ningun torniquete seleccionado "
Exit Sub
captura:
buscabase.DialogTitle = "Indica la ruta de la base de datos"
buscabase.ShowOpen
LINEAS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
buscabase.FileName & ";Persist Security Info=False"
LINEAS.RecordSource = "select * from lineas"
LINEAS.Refresh
End Sub
Private Sub Option1_Click(Index As Integer)
Combo1.Clear
Combo2.Clear
Combo3.Clear
X = Index + 1
If X = 10 Then X = "A"
If X = 11 Then X = "B"
If X = 11 Then X = "C"
LINEAS.RecordSource = "SELECT * FROM LINEAS WHERE LINEAS.LINEA = '" & X & "'"
LINEAS.Refresh
Do While Not LINEAS.Recordset.EOF
Combo1.AddItem LINEAS.Recordset.Fields(1)
Combo3.AddItem LINEAS.Recordset.Fields!orden
LINEAS.Recordset.MoveNext
Loop
Combo1.ListIndex = 0
End Sub
1 Respuesta
Respuesta de santiagomf
1