Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensatz auswählen





Frage

Wie mache ich in einem Formular per Mausklick auf eine Schaltfläche ein weiteres Formular auf , das automatisch zu dem Datensatz des ersten Formulares wechselt und umgekehrt?

Antwort 1 von Microsoftler

hmmmmmmmm........
wenn das oben zu schwer ist, eine andere Frage:
Wie kann ich einen Bericht des aktuellen oder gefilterten Datensatzes eines Formulars drucken (Bericht ist vorhanden)?

Antwort 2 von Nett Zwerg

Das ist beides nicht schwer. Aber Du könntest ruhig mal die Hilfe benutzen. Stichwort: OpenForm bzw. OpenReport.

Antwort 3 von Ich hasse Microsoft

Alle klar, ich habe meinen Namen schon geändert.
@NettZwerg:
Ist ja alles gut und schön, ich kann Filter definieren, nur wie sage ich meinem Makro es soll den Datensatz auswählen, der auf dem vorherigen Formular aktiv war?
Ich habe die Hilfe schon gelesen, wenn man aber blutiger Anfänger ist, kann man schon mal hängen bleiben, oder?

Antwort 4 von KawaVN800

Hi!
Also ich mag keine Makros!
Am besten erstellst Du für deine Schaltfläche eine Ereignisprozedur "Beim Klicken":

Private Sub Befehl225_Click()
On Error Resume Next
If Me.Dirty Then DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.OpenForm "[Formular zu den Du springen willst(2)]"
Forms![Formular(2)].RecordsetClone.FindFirst "[Feldname in Formular(2)] = " & Me![Feldname in Formular(1)]
If Forms![Formular(2)].RecordsetClone.NoMatch Then
[ Fakultativ: Meldungen, Hinweiss etc...]
Else
Forms!aufträge.Bookmark = Forms!aufträge.RecordsetClone.Bookmark
End If
Exit_Befehl225_Click:
Exit Sub
Err_Befehl225_Click:
MsgBox Err.Description
Resume Exit_Befehl225_Click
End Sub

Hoffe das hift Dir weiter!

CU
Carlo(:-))


Antwort 5 von KawaVN800

Ähm... sorry,
Statt Forms!aufträge sollte natürlich Forms![Formular(2)] heissen!

Carlo

Antwort 6 von Nett Zwerg

Ja, ging mir anfangs auch so, daß ich an manchen Problemen länger hängen geblieben bin.
Ich kann mich Carlo nur anschließen, was seine Meinung über Makros angeht. Bei VBA muß man zwar erst mehr lernen, aber es hat doch ganz andere Möglichkeiten.
Von mir hier kein Code, sondern die generelle Richtung. In jeder Tabelle solltest Du ein Feld vom Typ Autowert verwenden. Über diesen Wert ist jeder Datensatz eindeutig zugreifbar. Wenn Du ein Formular benutzt, kannst Du über dieses Feld eine Bedingung definieren, die in der OpenReport-Methode übergeben wird. Z.B:

OpenReport "Berichtname",acViewPreview, , "ID_Bsp=" & txtID_Bsp

Dabei sind:
ID_Bsp der Feldname des Autowertfeldes der zugrundeliegenden Tabelle und txtID_Bsp der Name des Textfeldes des Formulars, das diesen Wert enthält. Noch ein Tip: Wenn Dich die Anzeige diese Feldes stört, kannst Du die Eigenschaft "Sichtbar" auf Nein stellen.


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: