also ich hab auf meiner form 2 sevgrids
grid2 enthält eine spalte mit zimmer nr und namen
(wobei nicht zu jedem zimmer ein name dabei ist und umgekehrt)
grid1 enthät verschiedene daten unter anderem auch name und zimmer)
nun möchte ich wenn der user in grid 2 einen auf eine reihe klickt das in grid 1
nur die daten angezeigt werden wo der name bzw. das zimmer dem in grid2 entspricht angezeigt wird grid1 und 2 sind an unterschidliche accessdb gebunden und ich arbeite mit dao und vb6
ich hoffe mir kann jemand helfen
Mein code:
Private Sub Grid2_CellClick(ByVal nRow As Long, ByVal nCol As Long, ByVal _
Button As Integer, ByVal Shift As Integer)
Me.Label3.Caption = Me.Grid2.Text(nRow, 1)
Me.Label4.Caption = Me.Grid2.Text(nRow, 2)
Dim a As String
Dim b As String
Dim sSQL As String
a = Me.Grid2.Text(nRow, 1)
b = Me.Grid2.Text(nRow, 2)
Set oRsRechnung = Nothing
If Me.Grid2.Text(nRow, 1) <> "" Then
' Datenbank öffnen
Set oDBRechnung = DBEngine.OpenDatabase(rechnungdb)
' SQL-Abfragestring
sSQL = "SELECT Anzahl, Artikel, Einzelpreis, Gesamtpreis FROM Rechnung where" & _
"Zimmer = " & a
' Recordset erstellen
Set oRsRechnung = oDBRechnung.OpenRecordset(sSQL)
' Recordset erstellen
Set oRsRechnung = oDBRechnung.OpenRecordset(sSQL)
' CheckBox-Styles
'With cmbCheckboxStyle
' .AddItem "Standard"
' .AddItem "Modern"
' .ListIndex = Grid1.CheckBoxStyle
'End With
' Spalten festlegen
With Grid1
' autom. Neuzeichnen des DataGrids unterbinden
.LockUpdate True
' Spalten hinzufügen (bei DB-Anbindung nicht
' unbedingt notwendig!)
.ColumnAdd , , 800
.ColumnAdd , , 1500
.ColumnAdd , , 3000
.ColumnAdd , , 2500
' Recordset zuweisen
Set .Recordset = oRsRechnung
' Icon-Liste
'.Icons.Add Image1(0).Picture
'.Icons.Add Image1(1).Picture
' Extra-Button
'.Columns(3).Button = True
' Spalten-Beschriftung
'.Columns(5).Caption = ""
' Maximale Spaltenbreiten
'.Columns(1).MaxWidth = 1200
' Maximale Eingabebreite
'.Columns(9).MaxInputLength = 10
' Nach Name sortieren
.DoSort "name", SORT_ASC
' Neuzeichnen des DataGrids wieder aktivieren
.LockUpdate False
.Refresh
.Row = 1
'Me.Caption = Me.Caption & " Version: " & .Version
End With
' Recordset kann geschlossen werden, wenn
' CreateClone = True
oRsRechnung.Close
Set oRsRechnung = Nothing
Else
'Dim sSQL As String
' Datenbank öffnen
Set oDBRechnung = DBEngine.OpenDatabase(rechnungdb)
' SQL-Abfragestring
sSQL = "SELECT Anzahl, Artikel, Einzelpreis, Gesamtpreis FROM Rechnung where" & _
"Name = " & b
' Recordset erstellen
Set oRsRechnung = oDBRechnung.OpenRecordset(sSQL)
' Recordset erstellen
Set oRsRechnung = oDBRechnung.OpenRecordset(sSQL)
' CheckBox-Styles
'With cmbCheckboxStyle
' .AddItem "Standard"
' .AddItem "Modern"
' .ListIndex = Grid1.CheckBoxStyle
'End With
' Spalten festlegen
With Grid1
' autom. Neuzeichnen des DataGrids unterbinden
.LockUpdate True
' Spalten hinzufügen (bei DB-Anbindung nicht
' unbedingt notwendig!)
.ColumnAdd , , 800
.ColumnAdd , , 1500
.ColumnAdd , , 3000
.ColumnAdd , , 2500
' Recordset zuweisen
Set .Recordset = oRsRechnung
' Icon-Liste
'.Icons.Add Image1(0).Picture
'.Icons.Add Image1(1).Picture
' Extra-Button
'.Columns(3).Button = True
' Spalten-Beschriftung
'.Columns(5).Caption = ""
' Maximale Spaltenbreiten
'.Columns(1).MaxWidth = 1200
' Maximale Eingabebreite
'.Columns(9).MaxInputLength = 10
' Nach Name sortieren
.DoSort "name", SORT_ASC
' Neuzeichnen des DataGrids wieder aktivieren
.LockUpdate False
.Refresh
.Row = 1
'Me.Caption = Me.Caption & " Version: " & .Version
End With
' Recordset kann geschlossen werden, wenn
' CreateClone = True
oRsRechnung.Close
Set oRsRechnung = Nothing
End If |