Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Microsoft Microsoft Office

Access 2010 - Neues Formular mit aktuellem Datensatz öffnen

Mitglied: FMTh753

FMTh753 (Level 1) - Jetzt verbinden

14.02.2014 um 13:54 Uhr, 8563 Aufrufe, 5 Kommentare, 1 Danke

Hallo zusammen,

ich bin Access-Einsteiger und auf ein Problem gestoßen, das mir schon etwas länger zu schaffen macht. Leider habe ich frühere Lösungsvorschläge bisher nicht erfolgreich umsetzen können. Ich bitte deshalb hier um etwas Hilfe.

Ich habe in Access 2010 ein kleines Datenbankmodell entworfen, in dem ich archäologische Denkmäler sammeln möchte. Konkret geht es um römische Mosaiken. Ich habe eine Tabelle angelegt, die in den verschiedenen Feldern die Informationen (ID, Kat_Nr, Land, Stadt_Ort, Kontext, Datierung, Beschreibung, Vergleiche, Literatur,…) zu jedem einzelnen Mosaik enthalten soll, d. h., jedem Mosaik entspricht ein Datensatz in der Tabelle.

Da sich verschiedene Informationen sinnvoll gruppieren lassen, möchte ich sie jeweils gemeinsam über ein separates Formular ansprechen bzw. dort die Daten eingeben. frmHerkunft enthält z. B. die Eingabefelder für Land, Stadt_Ort und Kontext; frmEinordnung enthält die Eingabefelder für Vergleiche und Literatur; usw. … Über Schaltflächen-Steuerelemente kann ich aus einem Formular jeweils das nächste öffnen.

Nun möchte ich, dass, wenn in einem Formular ein bestimmter Datensatz ausgewählt ist, im (mittels Schaltfläche) neu geöffneten Formular derselbe Datensatz angezeigt wird, anstatt immer zum aktuellen Datensatz navigieren zu müssen. Ich habe gedacht, dass die folgende Routine beim Klick auf die Schaltfläche eigentlich funktionieren müsste:

DoCmd.OpenForm "frmEinordnung",,,"ID=" & Me.ID

Allerdings wird dann immer angezeigt:

Laufzeitfehler '3075': Syntaxfehler (fehlender Operator) in Abfrageausdruck 'ID=.'

Ich habe dazu auch schon einiges recherchiert, aber bei mir funktioniert keiner der vorgeschlagenen Lösungswege. Deutet der angezeigte Fehler eventuell darauf hin, dass irgendwo etwas mit der Benennung von Elementen nicht stimmt? Nach einigem Ausprobieren habe ich keine Idee mehr, voran es liegen könnte.

Vielen Dank für die Hilfe.
Grüße, Frederic
Mitglied: colinardo
14.02.2014, aktualisiert um 15:01 Uhr
Hallo Frederic, Willkommen im Forum!
heißt das Steuerelement bzw. der Name der Textbox in der die ID steht tatsächlich "ID" ? Bitte überprüfe das im Eigenschaften-Explorer. Für mich sieht die Fehlermeldung sehr offensichtlich danach aus das Me.ID leer ist bzw. nicht existiert und deswegen der Fehler kommt (Fehlender Operator auf der rechten Seite des Gleichheitszeichens).
Geb der Textbox auch mal einen anderen Namen als "ID" z.b. txtID und gebe sie in der Funktion dann so an: Me.txtID.Value.

Grüße Uwe
Bitte warten ..
Mitglied: FMTh753
14.02.2014 um 16:29 Uhr
Hallo Uwe, vielen Dank für Deine Antwort.

Ich war mir nicht ganz sicher, ob sich Dein Tipp auf die Tabelle oder die Formulare bezieht und habe deshalb hier wie dort nachgesehen:
Das Tabellenfeld, das den Primärschlüssel enthält, heißt ID.
Wenn ich in den Formularen die Eigneschaften Textbox mit er ID überprüfe, steht dort immer
Name: ID
Steuerelementinhalt: ID

Es sieht aber so aus, als habe ich hier einen Denkfehler gemacht; ich habe versucht, den genannten Befehl auszuführen, ohne dass die Datenbank überhaupt irgendwelche Einträge hat (wie gesagt, ich bin noch in der Entwurfsphase). Es ist wohl so: Kein Datensatz = keine ID = kein Operator?!

Ich nach Deinem Hinweis mal 10 Datensätze (durch Texteingabe in der Tabelle) testweise angelegt. Es funktioniert jetzt so: Wenn ich im ersten Formular z. B. beim Datensatz 5 mit der ID 5 bin, dann wird über die Schaltfläche das zweite Formular auch tatsächlich bei ID 5 geöffnet, so wie ich es haben möchte. Allerdings wird in der kleinen Navigationsleiste am unteren Bildschirmrand dann "Datensatz: 1 von 1" angezeigt (nicht "Datensatz: 5 von 10").

Hast Du da vielleicht noch eine Idee, woran das liegen könnte?

Grüße, Frederic
Bitte warten ..
Mitglied: colinardo
14.02.2014, aktualisiert um 17:07 Uhr
Zitat von FMTh753:
Es ist wohl so: Kein Datensatz = keine ID = kein Operator?!
yip, klar keine Daten, nichts zum Anzeigen ...
Hast Du da vielleicht noch eine Idee, woran das liegen könnte?
Das ist ja normal weil du damit einen Filter im Formular aktivierst. Wenn du den Filter in der Symbolleiste wieder raus nimmst kommst du wieder auf alle Datensätze des Formulars.

Alternativ dazu könntest du die Form normal öffnen und mit der SearchForRecord-Methode den aktuellen Datensatz setzen. So wird kein Filter gesetzt und du bist trotzdem auf dem aktuellen Datensatz:
01.
DoCmd.OpenForm "frmEinordnung" 
02.
DoCmd.SearchForRecord acDataForm, "frmEinordnung", acFirst, "ID=" & Me.ID.Value
Grüße Uwe
Bitte warten ..
Mitglied: FMTh753
14.02.2014 um 19:32 Uhr
DoCmd.OpenForm "frmEinordnung"
DoCmd.SearchForRecord acDataForm, "frmEinordnung", acFirst, "ID=" & Me.ID.Value

Hey, wenn ich das mit dem Filter beachte funktioniert es schon sehr gut, tausend Dank dir Uwe!!!

Ich würde deinen Alternativvorschlag auch mal ausprobieren, um zu sehen, mit welcher Einstellung ich besser arbeiten kann.
Für mich als Access-Neuling: Wie müsste ich den Code in VBA einbauen? Deine Nummerierung bedeutet, es sind zwei separate Befehle in der Ereignisprozedur desselben Formulars?

Grüße, Frederic
Bitte warten ..
Mitglied: colinardo
14.02.2014 um 21:08 Uhr
Zitat von FMTh753:
Für mich als Access-Neuling: Wie müsste ich den Code in VBA einbauen? Deine Nummerierung bedeutet, es sind zwei separate Befehle in der Ereignisprozedur desselben Formulars?
Richtig, die Nummerierung macht hier nur die Codeformatierung im Forum, die Befehle sind natürlich untereinander an der selben Stelle anstatt deines obigen Befehls einzugeben (also in der Click-Prozedur deines Buttons)

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Access 2010 - Formular lässt sich öffnen, zeigt aber keine Daten an
gelöst Frage von AndyAhVB for Applications3 Kommentare

Hi NG, ich habe eine Anwendung geschrieben, in der ein Datensatz aus einem Listenfeld per Doppelklick in einem anderen ...

Microsoft Office
Access (2010), Datensätze zählen via VBA und Wert in anderes Formular übergeben
gelöst Frage von d4shoerncheNMicrosoft Office11 Kommentare

Guten Morgen, ich komme bei meiner Access-Datenbank leider nicht weiter. Ich habe eine Datei in der zwei Tabellen und ...

Microsoft Office
Access 2010 Filter für Formular erstellen
Frage von lordofremixesMicrosoft Office9 Kommentare

Hallo zusammen, heute komme ich noch mit einer zweiten Access Frage, ist wohl eher was für Access / Datenbank ...

Microsoft Office
Probleme beim öffnen von Formulare über Registersteuerelemente Laufzeitfehler 2465 Access 2010
Frage von karlchristianMicrosoft Office1 Kommentar

Hallo, wenn ich ein Formular z.b. Test manuell öffne geht dieses ohne Probleme, öffne ich dagegen dieses über eine ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...