Bin halt nicht so der vb chef. Wollte das ganze in VB machen begreif das ganze jedoch nicht so ganz....
Die Suchfunktion wie die Auswahlliste funktionieren, kann aber den gewünschten Eintrag nicht aus Hauptdokument übertragen....Hier der fehlerhafte Code vom Hauptform:
Private Sub Form_Load()
Dim Db As Database
Dim Tabelle As Recordset
Dim dbFile As String
dbFile = "C:\Dokumente und Einstellungen\Roman" & _
"Secchi.MEIKO\Desktop\mabx\adrmbx.mdb"
Set Db = Workspaces(0).OpenDatabase(dbFile, False, False)
Set Tabelle = Db.OpenRecordset("Kunden")
End Sub
Private Sub Command1_Click()
Dim SQL As String
Dim AdrNr As Long
' Suchen-Dialog anzeigen
Load frm_Suchanfrage
With frm_Suchanfrage
.Show 1
SQL = .Tag
End With
Unload frm_Suchanfrage
' Wenn nicht auf "Abbrechen" geklickt wurde
If SQL <> "" Then
' Auswahlliste anzeigen
Load Form2
With Form2
.Data1.RecordSource = SQL
.Data1.Refresh
' Ergebnis prüfen
If .Data1.Recordset.RecordCount = 0 Then
' kein Eintrag gefunden
MsgBox "In der Datenbank ist kein entsprechender " & _
"Eintrag gespeichert!", 64, "SUCHEN"
ElseIf .Data1.Recordset.RecordCount = 1 Then
' exakt 1 Eintrag, d.h. sofort anzeigen
AdrNr = .Data1.Recordset("ID")
Else
' mehrere Treffer, d.h. Liste anzeigen
.Show 1
End If
End With
Unload Form2
' wenn ein Eintrag aus der Liste ausgewählt wurde
' oder sowieso nur ein Treffer vorhanden war
If AdrNr > 0 Then
Dim Index As New Index
Index.Name = "ID"
Index.Primary = True
Index.Unique = True
Index.Fields = True
Db.TableDefs("ID").Indexes.Append Index
' Adresse zur Bearbeitung anzeigen
Tabelle.Index = "ID"
Tabelle.Seek "=", AdrNr
Data1.Recordset("ID") = AdrNr
'Datensatz_Anzeigen
End If
End If
End Sub Auswahlliste:Private Sub cmdCancel_Click()
Me.Tag = 0
Me.Hide
End Sub
Private Sub cmdDisplay_Click()
Me.Tag = Data1.Recordset("ID")
Me.Hide
End Sub Suchform:Private Sub cmdOK_Click()
' SQL-Abfragestring erstellen
Dim SQL As String
' SELECT..FROM - Abschnitt
' Alle Datenfelder aus Tabelle ADRESSEN selektieren
SQL = "SELECT * FROM Kunden WHERE "
SQL = SQL + Choose(cmbFeld.ListIndex + 1, "Firma", _
"Strasse", "Plz", "Ort", "Nachname")
SQL = SQL + " Like '" + txtSuch.Text + "*'"
' ORDER BY - Abschnitt
SQL = SQL + " ORDER BY "
SQL = SQL + Choose(cmbSort.ListIndex + 1, "Firma", _
"Plz", "Ort")
' SQL-Abfragestring in der Form.Tag-Eigenschaft
' "zwischenspeichern" und Dialogfenster schließen
Me.Tag = SQL
Me.Hide
End Sub
Private Sub Form_Load()
' Comboboxen mit Feldnamen füllen
' Suchen nach
With cmbFeld
.AddItem "Firma"
.AddItem "Straße"
.AddItem "Plz"
.AddItem "Ort"
.AddItem "Nachname"
' Voreinstellung: Suchen nach Name
.ListIndex = 0
End With
' Sortieren nach
With cmbSort
.AddItem "Firma"
.AddItem "Plz"
.AddItem "Ort"
' Voreinstellung: Sortieren nach Name
.ListIndex = 0
End With
End Sub
Private Sub Form_QueryUnload(UnloadMode As Integer, _
Cancel As Integer)
If UnloadMode <> 1 Then
Cancel = True
cmdCancel.Value = True
End If
End Sub Und nochwas......ich weiss das einiges nicht möglich sein kann.... ;(
Thx 4 help |