Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Auswahl in ufo mittels Kontrollkästchen
Gehe zu Seite Zurück  1, 2
zurück: Typenwechsel bei Kombinationsfeldern weiter: Daten im Formular filtern Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
obroa
Anfänger


Verfasst am:
27. Jul 2012, 10:07
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hallo MissPh!,

Zitat:
Eigentlich musst du nur genau lesen und umsetzen was ich geschrieben habe
das ist gar nicht so einfach! Beispielsweise verstehe ich nicht, was es mit den Variablen t., g. und z. auf sich hat?!
Zitat:
und evtl. darin enthaltene Fehler ausmerzen
dies, glaube ich zumindest, habe ich erledigt.
Zitat:
welche Felder du in der Hilfstabelle brauchst, kannst du der Anfügeabfrage entnehmen
das habe ich erledigt, wobei ich offensichtlich auch noch das Feld [g_bez] benötige, welches die SQL-Anweisung dort sucht. Die beiden ID_f´s haben das Format Zahl, [g_bez] = Text und [selected] = Ja/Nein.

Mein Code sieht jetzt so aus:
Code:
' im ufo:
Private Sub chkSelected_AfterUpdate()
    If chkSelected = True Then
        strSQL = "INSERT INTO tbl_tempGeFelder (firma_id_f, gfeld_id_f) " & _
                 "VALUES (" & Me!firma_id_f & ", " & Me!gfeld_id_f & ")"
        CurrentDb.Execute strSQL, dbFailOnError
      Else
        strSQL = "DELETE * FROM tbl_tempGeFelder " & _
                  "WHERE firma_id_f = " & Me!firma_id_f & " " & _
                    "AND gfeld_id_f = " & Me!gfeld_id_f
        CurrentDb.Execute strSQL, dbFailOnError
    End If
End Sub

'im hfo:
Private Sub Form_Current()
    Dim strSQL As String
   
    strSQL = "DELETE * FROM tbl_tempGeFelder"
    CurrentDb.Execute strSQL, dbFailOnError
    strSQL = "INSERT INTO tbl_tempGeFelder (firma_id_f, gfeld_id_f, selected) " & _
             "SELECT " & Nz(Me!firma_id, 0) & ", g.gfeld_id, " & _
                    "IIf(z.firma_id_f Is Null, 0, -1) " & _
               "FROM tblGeschaeftsfelder AS g " & _
                    "LEFT JOIN tblFirma_Gfeld AS z " & _
                    "ON g.gfeld_id = z.gfeld_id_f " & _
              "WHERE z.firma_id_f = " & Nz(Me!firma_id, 0)
    CurrentDb.Execute strSQL, dbFailOnError
    Me!ufrmfirma_gfeld.Form.Requery
End Sub
und die Abfrage, Basis des ufo:
Code:
SELECT t.*, g.g_bez
FROM   tbl_tempGeFelder AS t
       INNER JOIN tblGeschaeftsfelder AS g
       ON t.gfeld_id_f=g.gfeld_id;
Trotzdem bekomme ich im ufo nur das angezeigt, was im Anhang zu sehen ist.
Wo könnte der Fehler liegen? Bin leider etwas ratlos...

Viele Grüße
obroa



gfeld_Ausschnitt.JPG
 Beschreibung:
 Dateigröße:  2.86 KB
 Angeschaut:  333 mal

gfeld_Ausschnitt.JPG


MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2012, 11:14
Rufname:
Wohnort: NRW


AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Zitat:
Beispielsweise verstehe ich nicht, was es mit den Variablen t., g. und z. auf sich hat?!
Das sind keine Variablen, sondern Aliasnamen für die Tabellen, um sich Schreibarbeit zu sparen und den Code übersichtlicher zu machen.
Zitat:
wobei ich offensichtlich auch noch das Feld [g_bez] benötige
Nein, nicht in der Hilfstabelle, die Spalte holst du dir mittels Abfrage hinzu.
Code:
Private Sub chkSelected_AfterUpdate()
    If chkSelected = True Then
        strSQL = "Insert Into tbl_tempGeFelder (firma_id_f, gfeld_id_f) " & _
Sorry, das ist natürlich Quatsch, hier muss die Zwischentabelle "tblFirma_Gfeld" angesprochen werden, ebenso beim Delete.
(Mitdenken ist ausdrücklich erwünscht! Wink)

Lade doch mal eine Beispiel-DB hoch, dann haben wir auch die restlichen Ungereimtheiten schnell geklärt.

PS:
In der Anfügeabfrage habe ich noch etwas wichtiges vergessen:
Code:
             "Where z.firma_id_f = " & Nz(Me!firma_id, 0) & " OR z.Firma_id_f Is Null"

_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
27. Jul 2012, 11:32
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Zitat:
Wenn du nicht klar kommst, lade deine (aufs notwendigste abgespeckte) DB hoch, damit man sich das mal anschauen kann.
Sorry, hatte Deinen Nachsatz überlesen. Hat außerdem etwas länger gedauert, da ich erst die Zugriffsberechtigung 'ausbauen' musste, die auf dem angemeldeten Windows-User beruht, und ein paar Daten anonymisieren musste.

Hier ist das Teil- hoffe, es geht so!

Viele Grüße
obroa



Vergleich.zip
 Beschreibung:

Download
 Dateiname:  Vergleich.zip
 Dateigröße:  159.38 KB
 Heruntergeladen:  11 mal

MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2012, 11:52
Rufname:
Wohnort: NRW

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Dies wäre die korrigierte Abfrage für das Unterformular:
Code:
SELECT t.*, g.gfeld_bez FROM tbl_tempGeFelder AS t INNER JOIN tblGeschaeftsfelder AS g ON t.gfeld_id_f=g.gfeld_id;
Das Feld "g_bez" wirfst du aus der Hilfstabelle wieder raus. Dem Steuerelement im Ufo, das den Text zeigen soll, gibst du den richtigen Steuerelementinhalt.

Bei der Anfügeabfrage musst du noch die oben im PS nachgetragene Korrektur einfügen, dann sollte alles klappen.

Das Ufo dürfte etwas größer sein und einen Scrollbalken könnte es wohl auch gebrauchen.

Nachtrag:
Die Checkbox muss natürlich noch an das Datenfeld gebunden werden.

_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
27. Jul 2012, 13:02
Rufname:


AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hallo MissPh!,

nochmals vielen Dank für Deine Geduld!
Zitat:
Das Feld "g_bez" wirfst du aus der Hilfstabelle wieder raus. Dem Steuerelement im Ufo, das den Text zeigen soll, gibst du den richtigen Steuerelementinhalt.
habe ich erledigt; Inhalt = [gfeld_bez].

Zitat:
Bei der Anfügeabfrage musst du noch die oben im PS nachgetragene Korrektur einfügen
meinst Du so?
Code:
    If chkSelected = True Then
        strSQL = "INSERT INTO tblFirma_Gfeld (firma_id_f, gfeld_id_f) " & _
                 "VALUES (" & Me!firma_id_f & ", " & Me!gfeld_id_f & ")" & _
                  "WHERE z.firma_id_f = " & Nz(Me!firma_id, 0) & " " & _
                     "OR z.Firma_id_f Is Null"
        CurrentDb.Execute strSQL, dbFailOnError
      Else
        strSQL = "DELETE * FROM tblFirma_Gfeld " & _
                 "WHERE firma_id_f = " & Me!firma_id_f & " " & _
                   "AND gfeld_id_f = " & Me!gfeld_id_f
        CurrentDb.Execute strSQL, dbFailOnError
    End If

Zitat:
Die Checkbox muss natürlich noch an das Datenfeld gebunden werden
Hier steh ich gerade auf dem Schlauch! Jedenfalls funktioniert es nicht, egal ob ich der Checkbox die Datenquelle [gfeld_bez] oder eine der ID_fs zuordne. Wahrscheinlich bedeutet 'anbinden' etwas anderes?

Viele Grüße
obroa
MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2012, 13:15
Rufname:
Wohnort: NRW

Re: AW: Auswahl in ufo mittels Kontrollkästchen - Re: AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Jetzt fehlt wohl nur noch das hier:
MissPh! - 27. Jul 2012, 11:14 hat folgendes geschrieben:
In der Anfügeabfrage habe ich noch etwas wichtiges vergessen:
Code:
             "Where z.firma_id_f = " & Nz(Me!firma_id, 0) & " OR z.Firma_id_f Is Null"

Zitat:
egal ob ich der Checkbox die Datenquelle [gfeld_bez] ...
Sorry, aber was soll denn das? Confused Die Bezeichnung gehört natürlich in das Textfeld.
Der Steuerelementinhalt von chkSelected sollte sinnvollerweise das Datenfeld Selected sein.
Wie sonst willst du wohl die Geschäftsfelder markieren?!

_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
27. Jul 2012, 13:36
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

na doch, das habe ich ja hier ergänzt (Pfeil) - schein auch an der richtigen Stelle zu stehen.
Code:
    If chkSelected = True Then
        strSQL = "INSERT INTO tblFirma_Gfeld (firma_id_f, gfeld_id_f) " & _
                 "VALUES (" & Me!firma_id_f & ", " & Me!gfeld_id_f & ")" & _
                  "WHERE z.firma_id_f = " & Nz(Me!firma_id, 0) & " " & _
                     "OR z.Firma_id_f Is Null"                       '<=== ###
        CurrentDb.Execute strSQL, dbFailOnError
      Else
        strSQL = "DELETE * FROM tblFirma_Gfeld " & _
                 "WHERE firma_id_f = " & Me!firma_id_f & " " & _
                   "AND gfeld_id_f = " & Me!gfeld_id_f
        CurrentDb.Execute strSQL, dbFailOnError
    End If
In der Delete-Anweisung muss es doch aber nicht mir rein - oder?
Zitat:
Sorry, aber was soll das denn? Der Steuerelementinhalt von chkSelected sollte sinnvollerweise das Datenfeld Selected sein.
Hast ja recht - hab nicht nachgedacht Embarassed (oder es ist zu warm).

Also die Aus- und Abwahl selbst funktioniert jetzt. Trotzdem wird mir im ufo immer nur das oder die Geschäftsfelder angezeigt, die beim Haupt-DS tatsächlich ausgewählt sind - und nicht alle Geschäftsfelder, egal ob angehakt oder nicht!

Hab ich noch irgendwo einen Fehler drin? Ich hoffe, wir haben anfänglich nicht aneinander vorbei gepostet... Confused

Viele Grüße
obroa
MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2012, 13:48
Rufname:
Wohnort: NRW

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Zitat:
schein auch an der richtigen Stelle zu stehen
Nein, da gehört das nicht hin, sondern in die Anfügeabfrage zur Erstellung der Hilfstabelle.
(das hätte auch bei der Ausführung einen Fehler werfen müssen)
Aber nachdem ich das inzwischen selbst testen konnte, musste ich feststellen, dass die Abfrage so nicht funktioniert.
Hier der neue Code:
Code:
    strSQL = "Insert Into tbl_tempGeFelder (firma_id_f, gfeld_id_f, selected) " & _
             "Select " & Nz(Me!firma_id, 0) & ", g.gfeld_id, IIF(s.firma_id_f Is Null, 0, -1) " & _
             "From tblGeschaeftsfelder g " & _
             "Left Join " & _
                "(Select z.firma_id_f, z.gfeld_id_f From tblFirma_Gfeld z " & _
                "Where z.firma_id_f = " & Nz(Me!firma_id, 0) & ") As s " & _
             "On g.gfeld_id = s.gfeld_id_f"
Die Unterabfrage ("s") wird gebraucht, weil der Join sonst nicht funktioniert, da dabei auch fremde Firmen-IDs berücksichtigt werden.
_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
27. Jul 2012, 14:12
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Juhu - Du bist genial - jetzt sieht es genau so aus und funktioniert, wie es soll! Very Happy

Ich würde Dir ja Blumen schicken, wenn ich nur wüsste wohin oder auch sonst was Gutes für Dich tun. Smile

Allerdings fürchte ich, dass wir uns wegen dieser DB hier noch mal an anderer Stelle wiedertreffen werden - das Wichtigste, die Berichte zur Auswertung der Daten, habe ich nämlich noch gar nicht in Angriff genommen... Confused

Jedenfalls 1.000 mal Danke!!!

Viele Grüße
obroa
MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2012, 14:27
Rufname:
Wohnort: NRW

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hi, und Danke für die "Blumen". Wink

Ich hätte noch einen Verbesserungsvorschlag für dich, weil mir das kleine Unterformular, das den gewünschten Überblick mangels ausreichender Höhe gar nicht bietet, nicht gefällt.

Du könntest die Unterformulare rechts oben weiter nach rechts schieben und das Ufo mit den Geschäftsfeldern links daneben setzen.
Ich habe das ausprobiert und finde, das sieht gut aus. Smile

Und ja, auf deine Berichte freue ich mich schon, ist u.a. mein Spezialgebiet. Very Happy

_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
22. Aug 2012, 13:23
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

obroa am 27. Jul 2012 um 14:40 hat folgendes geschrieben:
Hallo MissPh!,
Zitat:
Ich hätte noch einen Verbesserungsvorschlag für dich, weil mir das kleine Unterformular, das den gewünschten Überblick mangels ausreichender Höhe gar nicht bietet, nicht gefällt.
Du könntest die Unterformulare rechts oben weiter nach rechts schieben und das Ufo mit den Geschäftsfeldern links daneben setzen.
Danke für den Tip! Ich wollt es nur erst "richtig" machen und dann "schön" (gibt´s hier auch so einen Thread zum Thema).

Ich habe jetzt die linke Seite umgruppiert, weil es aktuell insgesamt nur 7 Geschäftsfelder gibt. Da passt es höhenmäßig ganz gut hin und ich benötige keinen Scrollbalken.

Aber um die rechte Seite mit den Zahlenkolonnen muss ich mich auch mal noch gelegentlich kümmern - da dürfen die User aber noch Wünsche äußern. Wink

Viele Grüße und nochmals danke
obroa

Hallo MissPh!,

ich muss leider noch mal auf Deine Super-Lösung mit den Kontrollkästchen für die Geschäftsfelder zurück kommen. Beim Herumprobieren mit diversen Funktionen des hforms ist mir aufgefallen, dass das ufo [ufrmfirma_gfeld] völlig leer bleibt, wenn ich im hform einen neuen DS anlegen will - sprich ich sehe auch keine leeren Checkboxen, die ich anhaken könnte. Crying or Very sad

Lässt sich das noch irgendwie lösen?

Für die Anlage eines neuen DS verwende ich übrigens das hform [frmErfassung_neu] - ist vom Prinzip her identisch mit [frmErfassung], lässt aber Anfügen zu - wahrscheinlich auch wieder so eine typische Anfänger-Variante, für die es eine kurze Lösung mit Me.AllowAdditions oder so gibt!? Confused

Vielen Dank schon mal im voraus!

Beste Grüße
obroa
MissPh!
Office-VBA-Programmiererin


Verfasst am:
23. Aug 2012, 23:04
Rufname:
Wohnort: NRW

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hallo,
Zitat:
dass das ufo [ufrmfirma_gfeld] völlig leer bleibt, wenn ich im hform einen neuen DS anlegen will
die Einstellung "Anfügen zulassen" ist in dem Ufo "ufrmfirma_gfeld" auf "Nein" eingestellt, das solltest du (in besagtem Fall) dann wohl ändern.
_________________
Gruß MissPh!
obroa
Anfänger


Verfasst am:
24. Aug 2012, 08:52
Rufname:

AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hallo MissPh!,

vielen Dank für die Info - das scheint allerdings doch noch nicht alles zu sein.

Ich bekomme jetzt im form für den neu anzulegenden DS zwar im ufo "ufrmfirma_gfeld" eine leere, unbenamste Checkbox angezeigt, aber immer noch nicht die übrigen sieben, auf die es ankommt. Sprich der geneigte User kann keine sinnvolle Auswahl treffen...

Ist der DS erst einmal angelegt und ich rufe ihn im form "frmErfassung" wieder auf, werden korrekt alle Checkboxen im ufo angezeigt - eben alle leer, weil ich ja nichts anhaken konnte.

Viele Grüße
obroa
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Aug 2012, 15:08
Rufname:
Wohnort: NRW


AW: Auswahl in ufo mittels Kontrollkästchen - AW: Auswahl in ufo mittels Kontrollkästchen

Nach oben
       Version: Office 2003

Hallo,

vor Erstellung der Hilfstabelle "tbl_tempGeFelder" muss der Haupt-Datensatz, also die neue Firma, gespeichert werden.
Sonst hat das Datenfeld den Wert 0 und die Zuordnung schlägt fehl, das Unterformular bleibt leer.

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2
Diese Seite Freunden empfehlen

Seite 2 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus einer Tabelle nach Auswahl von 4 Kriterien 4 Yawsuger 800 24. Jan 2007, 20:20
Yawsuger Abfrage aus einer Tabelle nach Auswahl von 4 Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: Bedingung mit mehreren Kontrollkästchen 2 sambagold 896 03. Jan 2007, 16:49
sambagold Bedingung mit mehreren Kontrollkästchen
Keine neuen Beiträge Access Tabellen & Abfragen: Ersetzen von Schlüsseln durch Klartext mittels Hilfstabelle 13 Pecki75 789 02. Jan 2007, 13:59
Willi Wipp Ersetzen von Schlüsseln durch Klartext mittels Hilfstabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Eingrenzende Auswahl 1 Gast 494 29. Nov 2006, 11:35
rita2008 Eingrenzende Auswahl
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenverknüpfung/Datenbankaufbau mittels VBA?! HELP!!! 3 Lelo 885 28. Nov 2006, 15:41
bogumiljackson Tabellenverknüpfung/Datenbankaufbau mittels VBA?! HELP!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mittels Abfrage beeinflussen 6 BLBGünter 496 28. Nov 2006, 13:42
BLBGünter Abfrage mittels Abfrage beeinflussen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL (Auswahl aller Felder + 2 Felder ausschließen) 1 student2006 1802 26. Nov 2006, 18:57
Nouba SQL (Auswahl aller Felder + 2 Felder ausschließen)
Keine neuen Beiträge Access Tabellen & Abfragen: Kontrollkästchen verbinden? 12 mbbir1 1251 17. Sep 2006, 16:42
derArb Kontrollkästchen verbinden?
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle erstellen mittels Schedueler zu einer best. Uhrzeit? 2 Peter Lustig 600 29. Aug 2006, 14:58
Peter Lustig Tabelle erstellen mittels Schedueler zu einer best. Uhrzeit?
Keine neuen Beiträge Access Tabellen & Abfragen: Wert in einer Tabelle mittels eines Eingabefeldes suchen 2 Gast1 783 27. Jul 2006, 11:16
Gast Wert in einer Tabelle mittels eines Eingabefeldes suchen
Keine neuen Beiträge Access Tabellen & Abfragen: 2x ja/nein Kontrollkästchen - nur eine eingabe erlauben 1 MacGyverDTH 1313 29. März 2006, 16:25
kia 2x ja/nein Kontrollkästchen - nur eine eingabe erlauben
Keine neuen Beiträge Access Tabellen & Abfragen: Stücksumme abhängig von aktivierten Kontrollkästchen 1 stefan_durst 595 21. März 2006, 13:08
stpimi Stücksumme abhängig von aktivierten Kontrollkästchen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP Forum