collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 56
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13700
  • stats Beiträge insgesamt: 62191
  • stats Themen insgesamt: 8474
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus  (Gelesen 202 mal)

Online gilles_de_rais

  • Newbie
  • Beiträge: 35
Hallo zusammen,

ich bin noch recht frisch in Access unterwegs und wage mich langsam aber sicher in die VBA-Programmierung vor.

Nun habe ich folgendes Problem. In einem Formular habe ich diverse Optionsboxen, die vor Aktualisierung auf Vollständigkeit überprüft werden sollen. Funktioniert an sich auch sehr gut, nur leider nicht für alle Elemente. Elemente, die in ihrer Benennung eine Ziffer haben, die über 100 liegt, ergibt beim Kompilieren eine Fehlermeldung.

Der Code sieht folgendermaßen aus:

Private Sub Form_BeforeUpdate(Cancel As Integer)
   
    Select Case Me.Rahmen68 And Me.Rahmen75 And Me.Rahmen82 And Me.Rahmen88 And Me.Rahmen94 And Me.Rahmen100 And Me.Rahmen106 And Me.Rahmmen267 And Me.Rahmen237 And _
    Me.Rahmen279 And Me.Rahmen285 And Me.Rahmen381 And Me.Rahmen309 And Me.Rahmen315 And Me.Rahmen321 And Me.Rahmen327 And Me.Rahmen333 And Me.Rahmen339 And Me.Rahmen345 And Me.Rahmen351 _
    And Me.Rahmen357 And Me.Rahmen363 And Me.Rahmen369 And Me.Rahmen387 And Me.Rahmen303
   
        Case "0"
            MsgBox "Für mindestens eine Wartungseinheit wurde keine Option ausgewählt."
        Me.Undo
        Cancel = True
    End Select
   
   
             
End Sub
   

Hat jemand eine Idee, wo der Fehler liegt?

Vielen Dank im Voraus!
Gruß,
Dennis
   
             
End Sub
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6753
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #1 am: August 08, 2017, 09:14:59 »
Hallo,
Du willst ja die Summe der Rahmenwerte auswerten, also musst Du auch addieren.
    Select Case Me.Rahmen68 + Me.Rahmen75 + Me.Rahmen82 ......
        Case 0
            MsgBox "Für mindestens eine Wartungseinheit wurde keine Option ausgewählt." ....
Und dann musst Du auf Zahl prüfen und nicht auf String. ("0").

Da Du Anfänger bist, noch einen Hinweis:
Das Datenmodell ist zweifelhaft mit so vielen Optionsboxen.
Was wird da gespeichert ?
Zeige mal ein Bild des Beziehungsfensters.

Gruß
Klaus
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #2 am: August 08, 2017, 09:16:40 »
Hallo,

gibt es vielleicht Tipp- oder Benamsungsfehler?

Zitat
...And Me.Rahmmen267 And ...


und schreibe außerdem

Case 0



Zudem sieht diese Konstruktion sehr "wild" aus, bzw. deutet auf ein unausgegorenes Daten-/Tabellenmodell hin.


Beschreibe mal genau, wie diese Rahmen aufgebaut sind und welche Datenherkunft das Formular hat.

Online gilles_de_rais

  • Newbie
  • Beiträge: 35
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #3 am: August 08, 2017, 09:54:32 »
In der Tat. Rahmen war wirklich falsch geschrieben. Aber der Fehler tritt dennoch aus.

Die Optionsboxen haben untereinander keinerlei Beziehungen. Auch nicht zu anderen Tabellen (Wenn man von den Verknüpfungen der Tabellen zum Netzlaufwerk absieht. Letztlich stellt dieses Konstrukt lediglich die Digitalisierung unserer bisher in Ordnern gepflegten Wartungseinheiten unseres Fuhrparks. Leider kann ich von hier aus aufgrund beschränkter Zugriffsrechte, keine Screenshots posten.

Vor allem stellen die Optionsgruppen aber lediglich eine Visualisierung einer Checkliste dar. Also Sicherheitsgurte i.o/n.i.o., Reifendruck i.o/n.i.o. usw.
Ginge dies eleganter?
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6753
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #4 am: August 08, 2017, 10:11:41 »
Hallo,
Zitat
Vor allem stellen die Optionsgruppen aber lediglich eine Visualisierung einer Checkliste dar. Also Sicherheitsgurte i.o/n.i.o., Reifendruck i.o/n.i.o. usw. Ginge dies eleganter?
Ja, das ginge eleganter und vor allen Dingen wäre es richtiger. Das muss als klassische n:m Beziehung aufgebaut werden mit (midestens) 4 Tabellen.

- Fahrzeuge
- CheckPunkte (alle Punkte in je einem Datensatz, mit extra Feld für Primärschlüssel)
- Kontrollen (für Kontrollzeitpunkt, da sich die Kontrollen ja regelmäßig wiederholen) mit Fremdschlüssel zu Fahrzeug
- KontrollCheckpunkte (mit Fremdschlüssel zu Kontrollen, FS zu CheckPunkte und Ja/Nein Feld für OK.

Unter Umständen wird noch eine extra TAbelle benötigt um die Checkpunkte einem Fahrzeug zuzuordnen wenn die Punkte für unterschiedliche Fahrzeuge zutreffend sind.
Das vorliegende Datenmodell halte ich für eine Datenbank für unbrauchbar.
Siehe hierzu auch:
http://allenbrowne.com/casu-23.html
Gruß
Klaus
 

Online gilles_de_rais

  • Newbie
  • Beiträge: 35
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #5 am: August 08, 2017, 10:45:24 »
Hallo,
ja, in der Tat, ich sehe die Problematik, die aus meiner Konstruktion heraus entstehen kann/wird. Learning by doing in seiner klassischsten Form, hm?

Jetzt habe ich neben dem Problem mit dem Code auch noch die Einsicht gewonnen, dass ich das bisher erarbeitete eigentlich völlig vergessen kann und vorne anfangen muss. Tut jetzt ein kleines bisschen weh :D

Vielen Dank, für diese Lehrreiche Einsicht. Stellt sich für mich jetzt nur die Frage, ob ich diese Erkenntnis schon auf dieses Projekt anwende oder ob ich es einfach in einem nächsten erst besser mache...

Gruß,
Dennis
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6753
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #6 am: August 08, 2017, 10:54:51 »
Hallo,
Zitat
... schon auf dieses Projekt anwende ...
eindeutige Aussage: Auf dieses Projekt, weil (wie bereits gesagt) das jetzige Konzept für eine Datenbank unbrauchbar ist. Das merkst Du schon an der sehr umständlichen Prüfung ob alles angehakt ist. Und wenn es dann noch Fahrzeug spezifische Checkpunkt gibt, kannst Du das jetzige Konzept ganz vergessen.

Bei einem Umbau ist die Prüfung eine einfache Summierung der Haken. Wenn die absolute Summe der Haken der Datensatzzahl der Tabelle "KontrollCheckpunkte" (mit Kriterium) entspricht ist alles OK. Das wird dann ein simpler Einzeiler.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Online gilles_de_rais

  • Newbie
  • Beiträge: 35
Re: Select Case Abfrage gibt bei Kompilierung Fehlermeldung aus
« Antwort #7 am: August 08, 2017, 11:16:26 »
Ok, das war deutlich. Ich werde in den sauren Apfel beißen und entsprechend umbauen. Ich hoffe, das geht mir einigermaßen gut von der Hand.

Vielen Dank für die kompetente Hilfe,
Dennis