collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 52
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14542
  • stats Beiträge insgesamt: 72939
  • stats Themen insgesamt: 9848
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 443

Autor Thema: Abfrage Parameterwert übergeben an Hauptformular  (Gelesen 200 mal)

Offline Sascha1986

  • Newbie
  • Beiträge: 4
Abfrage Parameterwert übergeben an Hauptformular
« am: November 15, 2019, 19:23:43 »
Hallo zusammen,
ich hoffe Ihr könnt mir weiter helfen da ich leider noch nicht viel Erfahrung mit Access gemacht habe.
Ich habe 2 Formulare ein Hauptformular (frmMenue) und ein Unterformular (ufrmBenutzer) . Jetzt bekomme ich immer den Fehler Parameterwert eingeben. Diesen möchte ich natürlich, das er diesen automatisch übergibt. Wenn ich meine Eingaben im Unterformular mache, funktioniert alles.

Meine Abfrage :

SELECT tblBenutzergruppen.BenutzergruppeID, tblBenutzergruppen.Benutzergruppe
FROM tblBenutzergruppen
WHERE (((tblBenutzergruppen.BenutzergruppeID) Not In (SELECT tblBenutzergruppen.BenutzergruppeID FROM tblBenutzergruppen INNER JOIN tblGruppenzuordnungen ON tblBenutzergruppen.BenutzergruppeID = tblGruppenzuordnungen.BenutzergruppeID WHERE (((tblGruppenzuordnungen.BenutzerID)=[Formulare]![ufrmBenutzer]![BenutzerID])))));

Wie kann ich die Abfrage ändern damit es auch im Hauptformular funktioniert.





 
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23949
Re: Abfrage Parameterwert übergeben an Hauptformular
« Antwort #1 am: November 15, 2019, 19:36:10 »
Hallo,

die Referenz in der Where-Condition muss sich auf das Unterformular im Hauptformular beziehen, etwa so:

...=[Forms]![Hauptformular]![ufrmBenutzer]![BenutzerID]…

wenn "ufrmBenutzer" der Name des UFO-Steuerelementes im Hauptformular ist, das das Formular "ufrmBenutzer"  anzeigt.

siehe:  http://www.donkarl.com/?FAQ4.2

Offline Sascha1986

  • Newbie
  • Beiträge: 4
Re: Abfrage Parameterwert übergeben an Hauptformular
« Antwort #2 am: November 15, 2019, 23:39:44 »
Hi DF6GL,
Leider bekomme ich es trotzdem nicht hin.
Ich versuche es mal besser zu beschreiben
In meinen Hauptformular frmMenue möchte ich mehrere Unterformulare mit dem ActivX Treeview Steuerelement öffnen. Der Code hierfür:
 
Private Sub ctlTreeview_NodeClick(ByVal Node As Object)
With ctlTreeview
Select Case .SelectedItem
Case "Benutzer"
Me.ufrmContainer.SourceObject = "ufrmBenutzer"

Dabei heißt das Unterformular Steuerelement ufrmContainer.
Jetzt möchte ich das "Formular" ufrmBenutzer in Unterformularsteuerelement ufrmContainer laden.

Im "Formular" ufrmBenutzer habe ich zwei Listenfelder
Einmal istZugewiesen und IstNichtZugewiesen nach dem Bsp Access im Unternehmen "Benutzer Verwaltung mit verschlüsselten Kennwörtern" (http://access-im-unternehmen.de/Benutzerverwaltung_mit_verschluesselten_Kennwoertern/)

ist zugewiesen:
SELECT tblBenutzergruppen.BenutzergruppeID, tblBenutzergruppen.Benutzergruppe, tblGruppenzuordnungen.BenutzerID
FROM tblBenutzergruppen INNER JOIN tblGruppenzuordnungen ON tblBenutzergruppen.BenutzergruppeID = tblGruppenzuordnungen.BenutzergruppeID
WHERE (((tblGruppenzuordnungen.BenutzerID)=[Forms]![ufrmBenutzer]![BenutzerID]));

istNichtZugewiesen:
SELECT tblBenutzergruppen.BenutzergruppeID, tblBenutzergruppen.Benutzergruppe
FROM tblBenutzergruppen
WHERE (((tblBenutzergruppen.BenutzergruppeID) Not In (SELECT tblBenutzergruppen.BenutzergruppeID FROM tblBenutzergruppen INNER JOIN tblGruppenzuordnungen ON tblBenutzergruppen.BenutzergruppeID = tblGruppenzuordnungen.BenutzergruppeID WHERE (((tblGruppenzuordnungen.BenutzerID)=[Forms]![ufrmBenutzer]![BenutzerID])))));

Mit einen dritten Listenfeld (LisBenutzerAuswaehlen) wähle ich den Benutzer aus
Abfrage :

(LisBenutzerAuswaehlen)
SELECT tblBenutzer.BenutzerID, [Nachname] & ", " & [Vorname] AS Benutzer
FROM tblBenutzer
ORDER BY [Nachname] & ", " & [Vorname];

Der Code für das Formular ufrmBenutzer:

'===============================================================================================================
' Doppelklick auf IstZugewiesen Listenfeld
'===============================================================================================================

Private Sub lstZugewiesen_DblClick(Cancel As Integer)                                                                                                       
    Dim db As DAO.Database                                                                                                                                 
    Set db = CurrentDb                                                                                                                                     
    If Not IsNull(Me!BenutzerID) And Not IsNull(Me!lstZugewiesen) Then
        db.Execute "DELETE FROM tblGruppenzuordnungen WHERE BenutzerID = " & Me!BenutzerID & " AND BenutzergruppeID = " & Me!lstZugewiesen, dbFailOnError   
        Me!lstZugewiesen.Requery                                                                                                                             
        Me!lstNichtZugewiesen.Requery                                                                                                                       
    End If
End Sub

'===============================================================================================================
' Doppelklick auf IstNichtZugewiesen Listenfeld
'===============================================================================================================

Private Sub lstNichtZugewiesen_DblClick(Cancel As Integer)
    Dim db As DAO.Database
    Set db = CurrentDb
    If Not IsNull(Me!BenutzerID) And Not IsNull(Me!lstNichtZugewiesen) Then
        db.Execute "INSERT INTO tblGruppenzuordnungen(BenutzerID, BenutzergruppeID) VALUES(" & Me!BenutzerID & ", " & Me!lstNichtZugewiesen & ")", dbFailOnError
        Me!lstZugewiesen.Requery
        Me!lstNichtZugewiesen.Requery
    End If
End Sub

Private Sub Form_Load()
Me!LisBenutzerAuswaehlen = Me!LisBenutzerAuswaehlen.ItemData(0)
Me.Recordset.FindFirst "BenutzerID = " & Me!LisBenutzerAuswaehlen
End Sub

'===============================================================================================================
' Aktualisieren des Datensatz im Textfeld nach Listenfeld
'===============================================================================================================
Private Sub LisBenutzerAuswaehlen_AfterUpdate()
Me.Recordset.FindFirst "BenutzerID = " & Me!LisBenutzerAuswaehlen
End Sub

'===============================================================================================================
' Beim Anzeigen
'===============================================================================================================

Private Sub Form_Current()
    Me!lstNichtZugewiesen.Requery                       
    Me!lstZugewiesen.Requery                             
End Sub

Danke für deine Unterstützung !!!


 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23949
Re: Abfrage Parameterwert übergeben an Hauptformular
« Antwort #3 am: November 16, 2019, 08:42:09 »
Hallo,

wie gesagt, der UFO-Steuerelementname muss verwendet werden:

Zitat
Dabei heißt das Unterformular Steuerelement ufrmContainer.

Zitat
….WHERE (((tblGruppenzuordnungen.BenutzerID)=[Forms]!frmMenue!ufrmContainer![BenutzerID]));





Zitat
Mit einen dritten Listenfeld (LisBenutzerAuswaehlen) wähle ich den Benutzer aus
Wenn ich dies aber lese, befindet sich die BenutzerID im UFO im Listenfeld "LisBenutzerAuswaehlen", dadurch sollte es so lauten:

….WHERE (((tblGruppenzuordnungen.BenutzerID)=[Forms]!frmMenue!ufrmContainer![LisBenutzerAuswaehlen]));

Insgesamt würde ich keine Abfragen mit Referenzen auf Formular-Steuerelemente an Listenfelder zuweisen.

Die Zuweisung von zusammengebauten SQL-Strings an die Rowsource-Eigenschaft würde eher einer Kapselung dienen und unabhängig von Formularinstanzen machen. Dazu bedarf es aber einer weiteren Anpassung des Code in Bezug auf die Listenfelder.



Zitat
Jetzt möchte ich das "Formular" ufrmBenutzer in Unterformularsteuerelement ufrmContainer laden.

Das passiert doch schon hier:
Zitat
Me.ufrmContainer.SourceObject = "ufrmBenutzer"



« Letzte Änderung: November 16, 2019, 09:02:53 von DF6GL »
 
Folgende Mitglieder bedankten sich: Sascha1986

Offline Sascha1986

  • Newbie
  • Beiträge: 4
Re: Abfrage Parameterwert übergeben an Hauptformular
« Antwort #4 am: November 16, 2019, 21:45:39 »
Hi DF6GL,

also ich habe heute den ganzen Tag versucht mit deiner Lösung zu Probieren aber es funktioniert nicht.
Es kommt nach wie vor die Meldung. Parameterwert BenutzerID.
Auch mit deinen Ersten Lösungsvorschlag Me.Parent hat es nicht geklappt.

Kann ich dir vielleicht mal die aktuelle Datei per Email senden. Leider kann ich die Datei hier im Forum nicht anhängen.
 

Offline Sascha1986

  • Newbie
  • Beiträge: 4
Re: Abfrage Parameterwert übergeben an Hauptformular
« Antwort #5 am: November 16, 2019, 22:01:30 »
Funktioniert doch mit deiner Lösung

Vielen Dank !!!
 

 

Datensatzzähler in einer Abfrage

Begonnen von peterBoard Tabelle/Abfrage

Antworten: 6
Aufrufe: 16220
Letzter Beitrag Juni 16, 2010, 16:32:34
von cyorps
Abfrage für Terminüberschneidungen und visuelle Darstellung

Begonnen von centaurusBoard Tabelle/Abfrage

Antworten: 3
Aufrufe: 7480
Letzter Beitrag Januar 21, 2011, 21:30:14
von cy_one_1
Datenerfassung mit Abfrage

Begonnen von Daniel-GSBoard Tabelle/Abfrage

Antworten: 2
Aufrufe: 6384
Letzter Beitrag Mai 05, 2010, 22:52:18
von oma
SQL Abfrage DELETE rückgängig machen??

Begonnen von hmfmartinBoard Tabelle/Abfrage

Antworten: 1
Aufrufe: 8841
Letzter Beitrag Mai 08, 2010, 19:18:08
von MzKlMu
6 Mio Datensätze bei Abfrage

Begonnen von JohannaBoard Tabelle/Abfrage

Antworten: 11
Aufrufe: 9843
Letzter Beitrag Mai 19, 2010, 12:29:47
von Wurliwurm

Advertisment / Werbung - Amazon Affiliate Links