Erstellung einer Indexmaske

Experte Gesucht!

Ich erstelle gerade für ein Studienprojekt eine Datenbank mit Hilfe von Access, da es mein erster Versuch mit einer DB ist hab ich dabei immer mal wieder Schwierigkeiten.

Die DB dient unter anderem zur Speicherung von Adressdaten von Firmen, zum besseren Gebrauch der Formulare möchte ich eine Seite erstellen auf der nur der Name und evtl. der Ort aller Firmen gleichzeitig erscheint. Das ganze in alphabetischer Reihenfolge.
Beim anklicken einer Firma soll sich wieder das Hauptformular öffnen und die Daten der angeklickten Firma zeigen.

Habt ihr ne Idee wie ich das realisieren kann??

Vielen Dank schon mal im voraus.

Hallo,

in der ÖffnenFormular-Aktion kannst Du eine Bedindung angeben:

Zitat Hilfe für Access97:

„Bedingung Eine gültige SQL-WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, mit dem Microsoft Access Datensätze aus der dem Formular zugrundeliegenden Tabelle oder Abfrage auswählt. Wenn Sie einen Filter mit dem Argument Filtername auswählen, wendet Microsoft Access die WHERE-Klausel auf das Filterergebnis an.Um ein Formular zu öffnen und seine Datensätze auf solche zu beschränken, die dem Wert eines Steuerelements in einem anderen Formular entsprechen, verwenden Sie den folgenden Ausdruck:[Feldname] = Formulare![Formularname]![Steuerelementname in anderem Formular]“

Ulrich

Es klappt immer noch nicht mit der Indexmaske
Es will einfach nicht klappen!
Das öffnen funktioniert aber er wählt den Datensatz nicht aus mit der Bedingung. Wenn ich die vorgeschlagene Bedingung verwende wird immer nur der erste Datensatz geöffnet die anderen aber nicht, da ich immer dann die Aussage falsch bekomme.
Das liegt sicher daran das das Zielformular immer nur einen Datensatz auf einmal anzeigt. Oder?

Wie bringe ich ihn dazu zu dem Datensatz zu wechseln, der zu dem angeklickten im zweiten Formuilar passt?

Ich hoffe euch fällt noch etwas ein.

Für einen BWL Studenten ist Access ziemlich frustrierend auf die Dauer.

Vielen Dank im Voraus an alle Experten

Hallo,

eine Alternative:

Dim stFormularname1 As String, stFormularname2 As String
'Aktuellen Datensatz merken
stFormularname1 = „Formular_1“
stFormularname2 = „Formular_2“
Nummer = Me!BetriebsNr
'Formular_2 öffnen
DoCmd.OpenForm stFormularname2
DoCmd.Maximize
'Formular_1 schließen
DoCmd.Close acForm, stFormularname1
'Aktuellen Datensatz anzeigen
Forms!Formular_2![BetriebsNr].SetFocus
DoCmd.FindRecord Nummer

Also, die BetriebsNr ist bei mir ein eindeutiger Schlüssel für den aktuellen Datensatz, sozusagen einmalig. Sie wird in beiden Formularen angezeigt. Wichtig ist noch: Nummer ist eine globale Variable (unabhängig von Formularen). Mach dazu ein neues Modul auf und schreib rein
Public Nummer As Integer
Natürlich nur wenn Du eine Intergervariable brauchst. Geht auch mit String-Variablen (As String).

Hoffe das hilft,

Ulrich

Jetzt Gehts!
Vielen Dank für deine Hilfe,

Mit deiner Hilfe und einigen Codeteilen aus ein paar anderen Makros hab ichs hinbekommen.