Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Access (2010), Datensätze zählen via VBA und Wert in anderes Formular übergeben

Frage Microsoft Microsoft Office

Mitglied: d4shoerncheN

d4shoerncheN (Level 2) - Jetzt verbinden

26.02.2014, aktualisiert 10:01 Uhr, 7011 Aufrufe, 11 Kommentare

Guten Morgen,

ich komme bei meiner Access-Datenbank leider nicht weiter. Ich habe eine Datei in der zwei Tabellen und dazu zwei Formulare angelegt sind. Einmal das Hauptformular und in diesem Formular wird auch das zweite Formular angezeigt. Es handelt sich um eine kleine und einfache Kundenverwaltung.

Nun habe ich via VBA "Beim Anzeigen" im UF und dem Befehl
01.
Me!Anzahl_Artikel.Value = Me.RecordsetClone.RecordCount
Die Anzahl an Datensätzen gezählt. In Hauptformular sind die Daten des Kunden hinterlegt, im UF die Artikel die er kauft. Die Artikel werden nun korrekt gezählt. Nun würde ich diesen Wert gerne an das Hauptformular übergeben, denn im Kopf des Hauptformulars soll erscheinen, wie viele Artikel der Kunde besitzt. Hier komme ich leider nicht weiter.

Ich bin mir sicher, dass Ihr mir bei dem kleinen Problem helfen könnt.

Vielen Dank
@d4shoerncheN
Mitglied: colinardo
26.02.2014, aktualisiert um 08:35 Uhr
Hi @d4shoerncheN,
mit
01.
Dim formParent As Form 
02.
Set formParent = Me.Parent 
03.
formParent.DeinTextFeld.SetFocus 
04.
formParent.DeinTextFeld.Value = "Testwert"
in der Subform solltest du an eine Referenz der Form erhalten in der sich die Subform befindet. Damit kannst du dann den Inhalt eines Steuerelementes in der Parentform setzen.

Grüße Uwe
Bitte warten ..
Mitglied: d4shoerncheN
26.02.2014, aktualisiert um 09:19 Uhr
Hallo Uwe,

erst einmal viele Dank für deine Antwort.

Da ich mich mit VBA eigentlich nicht auskenne, komme ich mit deiner Lösung leider auch nicht weiter. Ich füge deinen Code (Textbox angepasst) im VBA unter "Beim Anzeigen" über meinem Zählcode ein?

Wenn ja, wie mache ich weiter?

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: colinardo
LÖSUNG 26.02.2014, aktualisiert um 10:01 Uhr
Also,
du gehst in deine Subform, markierst diese mit dem rechteckigen Kästchen ganz oben links im Formular, und wählst dann in den Eigenschaften unter Ereignisse > Beim Anzeigen den Code-Editor. Dort fügst du dann den obigen Code ein. Im Code musst den Namen des Textfeldes welches in deiner Hauptform liegt anpassen (DeinTextFeld).
01.
Dim formParent As Form 
02.
Set formParent = Me.Parent 
03.
formParent.DeinTextFeld.SetFocus 
04.
formParent.DeinTextFeld.Value = Me.RecordsetClone.RecordCount
Wenn dir das nicht hilft -> Teamviewer

Grüße Uwe
Bitte warten ..
Mitglied: d4shoerncheN
26.02.2014, aktualisiert um 09:37 Uhr
Hallo Uwe,

doch das hilft. So hatte ich es eingefügt. Erhalte nun folgende Meldung:

Laufzeitfehler: 2465
Anwendungs- oder objektdefinierter Fehler.

und markiert die Zeile mit setFocus.

DeinTextFeld wurde in den Namen der Textbox umbenannt.

NACHTRAG
Mein Fehler. Geht nun

Kann man auch anzeigen lassen, welcher der aktuelle Datensatz ist? z. B. 2 von 3 statt nur 3.

Gruß
Bitte warten ..
Mitglied: colinardo
26.02.2014 um 09:41 Uhr
hier geht es problemlos, dann stimmt bei dir der Name des Textfeldes noch nicht, es muss der im Eigenschaften-Manager sein:

77b6a26676ede185d91e43aae6f0a602 - Klicke auf das Bild, um es zu vergrößern

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
26.02.2014, aktualisiert um 09:44 Uhr
Zitat von d4shoerncheN:
Kann man auch anzeigen lassen, welcher der aktuelle Datensatz ist? z. B. 2 von 3 statt nur 3.
Verstehe ich jetzt nicht ganz ... der aktuell markierte Datensatz im Unterformular soll im Hauptformular angezeigt werden ?
Bitte warten ..
Mitglied: d4shoerncheN
26.02.2014, aktualisiert um 10:08 Uhr
Sooo,

also zu #1. Wie gesagt, funktioniert nun. Habe dort fälschlicherweise den Namen der Textbox aus dem Unterformular eingegeben.

Zu #2
Die Navigationsleiste vom Unterformular habe ich entfernt, damit es nicht zur Verwirrung kommt. In dem Unterformular werden in der Formularansicht die Artikel (in dem Fall Tiere) mit spezifischen Daten angezeigt. Oben im Kopfbereich (noch mit Text52 benannt) sollte nun angezeigt werden, wie viele Tiere der Kunde besitzt. Dies funktioniert ja nun auch super. Nun wäre es gut, wenn man daneben aber noch anzeigen könnte, welches Tier das gerade aktuell angezeigte ist. Da man zwischen den Datensätzen im Unterformular ja hin und her springt. z.B. 1 von 3 Tieren, 2 von 3 Tieren.

NACHTRAG
Bzw. das man die Anzahl an Tiere die nun im HF angezeigt wird so beibehält, aber im Unterformular wieder sehen kann welches das gerade angezeigte Tier ist. Quasi die Navigationsleiste nachbaut.

Gruß
Bitte warten ..
Mitglied: colinardo
LÖSUNG 26.02.2014, aktualisiert um 10:01 Uhr
Ah OK, kein Problem.
du änderst die letzte Zeile des Codes in
01.
formParent.Text52.Value = Me.CurrentRecord & " von " & Me.Recordset.RecordCount
Grüße Uwe
Bitte warten ..
Mitglied: d4shoerncheN
26.02.2014 um 10:01 Uhr
Hallo,

du bist der Beste - dank dir

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: d4shoerncheN
04.03.2014 um 08:07 Uhr
Moin @colinardo,

ich brauche noch einmal deine Hilfe bei Access.

Bekommt man es hin, dass er beim Verlassen des Hauptformulares (sei es beim blättern der Datensätze, oder bei einer Neuanlage) geprüft wird, ob eine Checkbox aktiviert ist?

Hintergrund ist der: Neuer Kunde wird angelegt, dieser muss die Checkbox "AGB-Akzeptiert" angehakt haben. Ist dies nicht der Fall, erscheint eine MSGBOX das dieser Kunde noch die AGBs akzeptieren muss. Eventuell ist es ja möglich, dass diese MSGBOX immer bei dem Aufruf des Hauptformulars kommt. Frei nach dem Motto "Kunde XY und Kunde Z müssen die AGBs noch akzeptieren".

Dank dir.

Gruß
Toni
Bitte warten ..
Mitglied: colinardo
04.03.2014, aktualisiert um 09:09 Uhr
Hallo Toni,
Nothing ist impossible

also wenn deine Checkbox z.B. den Namen cbAGB hat dann kannst du es folgendermaßen machen:
01.
Private Sub Form_Close() 
02.
    checkAGB 
03.
End Sub 
04.
 
05.
Private Sub Form_Open(Cancel As Integer) 
06.
    checkAGB 
07.
End Sub 
08.
 
09.
Sub checkAGB() 
10.
    If cbAGB.Value = False Then 
11.
        MsgBox "Bitte nicht vergessen, Sie müssen noch den AGB zustimmen!", vbExclamation 
12.
    End If 
13.
End Sub
Für den Fall das du nicht weißt wohin mit dem Code, hier dazu noch eine Demo-Datenbank.

Das Kontrollkästchen sollte natürlich an ein Wahr/Falsch-Feld in der Datenbank gebunden sein.

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
gelöst Syntaxfehler VBA Access 2010 (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 Abfrage erster Werktag (10)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 komplizierte Abfrage (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei "Distinct" Befehl in Access 2010 (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...