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

gelöst Datensatzwechsel im Ufo auf Hfo anwenden

Mitglied: Janni

Janni (Level 2) - Jetzt verbinden

07.12.2010, aktualisiert 12:05 Uhr, 7075 Aufrufe, 5 Kommentare

Moin,

komme nicht so recht weiter, folgendes Problem: Ich habe ein Formular mit einem Unterformular (Ufo) in Datenblattansicht. Bei einem Datensatzwechsel im Ufo (der Benutzer klickt in einen anderen Satz) soll dieser neu ausgewählte Datensatz auch im Hfo angezeigt werden. Leider funktionieren die ganzen Ereignisse irgendwie im Ufo nicht (Form_Current, Click, etc.) und der Satz im Hfo wird nicht gewechselt. Dabei ist es egal, ob das Ufo verknüpft oder nicht verknüpft ist
Habe auch schon versucht über ein Textfeld im Hfo die Datensatznummer anzeigen zu lassen. Dies geht auch wunderbar, aber die normalen Ereignisse greifen nicht, da der Inhalt selbst ja nicht geändert wird (=me!Ufo!Steuerelement).

Kennt Jemand ein Ereignis was bei dem Textfeld greifen würde, bzw. eine andere Lösung um den Datensatz im Hfo zu wechseln ?

Das ganze ist noch in einer mdb-DB realisiert (Access 2003).

Danke schon einmal
Janni
Mitglied: jhinrichs
07.12.2010 um 14:24 Uhr
Hallo,

eine Lösung (ich weiß nicht, ob es die eleganteste ist), ist folgende:

Im Unterformular definierst Du folgende Prozedur, wobei "Key" der Primärschlüssel oder zumindest ein eindeutiger Schlüssel ist:
01.
Private Sub Form_Click() 
02.
    Rem Prozedur OpRecord des Hauptformulars mit dem Schlüssel des angeklickten Datensatzes als Argument aufrufen 
03.
    Form_frmHfo.OpRecord(Me.Key)  
04.
End Sub
Damit schaltet das Hauptformular um, wenn Du auf den "Datensatzbezeichner" klickst. Wenn das Hauptformular auch bei jedem Klick in ein Datenfeld umschalten soll, musst Du die Zeile
01.
Form_frmHfo.OpRecord(Me.Key) 
in die "Beim Klicken"-Ereignisprozedur jedes Datenfeldes schreiben.

Im Code des Hauptformulars (frmHfo) wir dann die Prozedur OpRecord definiert:

01.
Public Sub OpRecord(Key As Long) 
02.
 
03.
    Dim rst As DAO.Recordset 
04.
    Dim stcond As String 
05.
     
06.
    Set rst = Me.Recordset 
07.
    Rem Bedingung formulieren 
08.
    stcond = "Key=" & Key    
09.
    Rem Ersten passenden Datensatz suchen, da Schlüssel eindeutig, braucht man keine weiteren zu suchen 
10.
    rst.FindFirst (stcond) 
11.
        
12.
End Sub
Das ist jetzt alles natürlich nur ein Grundgerüst ohne Fehlerbehandlung etc. Wenn man das Ganze in der Entwurfsansicht von Access erstellt, muss man ziemlich aufpassen, beim Schreiben der Ereignisprozeduren auch das richtige Objekt ausgewählt zu haben. Es empfiehlt sich auf jeden Fall im VBA-Editor eine Kontrolle, dass die Form_Click() und FeldXY_Click()-Prozeduren auch dem Unterformular und die OpRecord-Prozedur dem Hauptformular zugeordnet sind bzw. ist.

Grüße
Bitte warten ..
Mitglied: Janni
07.12.2010 um 17:09 Uhr
Vielen Dank, funktioniert super.

Allerdings mit einer kleinen Einschränkung, das Ereignis Click funktioniert in einem Kombinationsfeld nicht. Hast Du eine Idee warum ?
Wenn ich das ganze über ein weiteres Textfeld mit Verweis auf die richtige Spalte des Kombinationsfeldes realisiere, dann aktualisiert er zwar das Hfo, aber er aktualisiert alle Felder dieses Textfeldes. Das sieht nicht wirklich schön aus.
Bitte warten ..
Mitglied: jhinrichs
08.12.2010 um 10:47 Uhr
Hallo,

beim Kombinationsfeld wird das Ereignis "Click" offenbar erst ausgelöst, wenn ein Wert aus der Liste angeklickt wird. Daher braucht man zusätzlich den Aufruf der OpRecord-Prozedur beim Fokuserhalt oder Hingehen, also Ereignis "GotFocus" oder "Enter". Bei "Click" muss der Aufruf aber bleiben, da sonst das Hfo nach der Auswahl aus der Liste nicht sofort, sondern erst bei der nächsten Auswahl aktualisiert wird. Auch im Tectfeld kann man statt Click natürlich Enter oder GotFocus wählen, was sogar geschickter ist, da dann das Hfo auch aktualisiert wird, wenn man das Textfeld nicht mit der Maus, sondern per Tab-Taste auswählt.
Der Gesamtcode im sieht dann so aus:
01.
Private Sub Form_Click() 
02.
    Form_frmHfo.OpRecord (Me.Key) 
03.
End Sub 
04.
 
05.
Private Sub Kombinationsfeld_Click() 
06.
    Form_frmHfo.OpRecord (Me.Key) 
07.
End Sub 
08.
 
09.
Private Sub Kombinationsfeld_Enter() 
10.
    Form_frmHfo.OpRecord (Me.Key) 
11.
End Sub 
12.
 
13.
Private Sub Textfeld_Enter() 
14.
    Form_frmHfo.OpRecord (Me.Key) 
15.
End Sub
Das Neu-Hinzufügen von Datensätzen über das Ufo muss auch noch extra abgefangen werden.
Grüße
Bitte warten ..
Mitglied: Janni
08.12.2010 um 12:50 Uhr
Moin,

bei Enter oder GotFocus bekomme ich den Fehler 32502: Der Wert, den Sie für das Feld \"|\" eingegeben haben, ist ungültig.
Dabei ist es egal, ob ich das Enter auf das Kombifeld oder ein Textfeld definiere.
Dieses Feld existiert aber gar nicht und mit der Nummer kann sogar Google nicht so recht etwas in Verbindung mit Access anfangen.
Bitte warten ..
Mitglied: jhinrichs
09.12.2010 um 10:09 Uhr
Moin,
komisch, meine Antwort von gestern ist irgendwie "wech"...
Also nochmal:
Wann genau kommt die Fehlermeldung? Was ist markiert, wenn Du dann auf "Debuggen" klickst? Was für Code entsteht denn, wenn Du im Eigenschaftenfenster des Steuerelements beim Ereignis "Hingehen" dann "Code" auswählst?
Vielleicht postest Du hier einmal Deinen Code, bei mir funktioniert das nämlich (getestet unter Access 2010, 2007 und 2002).
Grüße
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Access 2010 Probleme mit HFO Registersteuerlent Button in UFO zum Registersteuerlent springen

Frage von thomas1972Microsoft Office1 Kommentar

Hallo , ich habe eine kleine Frage bzw. Problem, ich habe ein Formular Test1 , in diesen sind div ...

Entwicklung

Mockup - Tool für Anwender

gelöst Frage von ernownEntwicklung2 Kommentare

Hi Community, habe mal eine Frage, da ich auf der Suche nach einem einfachen, möglichst kostengünstigen Mockup- bzw. Storytelling-Tool ...

Batch & Shell

Batchdatei auch in den Unterverzeichnissen anwenden

Frage von joejoestoBatch & Shell7 Kommentare

Hallo aus Norddeutschland Ich habe eine Batchdatei mit folgendem Inhalt erstll : diese liegt in dem Verzeichniss in dem ...

Windows Userverwaltung

GPO: Benutzerkonfiguration nicht auf Server anwenden

gelöst Frage von KMUlifeWindows Userverwaltung9 Kommentare

Hallo zusammen! Ich habe eine Frage bezüglich den Computer/Benutzerkonfigurationen. Ich weiss nicht ob ich was Grundlegendes an der OU-Struktur ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 3 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 10 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 13 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...