TDM Geschrieben 14. Dezember 2009 Teilen Geschrieben 14. Dezember 2009 Grüße, ich versuche gerade verzweifelt eine Möglichkeit der Bitmaskenabprüfung für Access zu entwickeln. Die "Spieltabelle" besteht nur aus einer Spalte, ID, int mit den Zahlen 1 - 9 Nun wollte ich anhand einer SQL-Abfrage mir die Zeilen für bestimmte Werte raussuchen: PARAMETERS Param long; SELECT ID FROM TEST WHERE ID = (ID & [Param]) Ergo: Geht nicht, blödes Access nimmt & nicht als Bitwise And, sondern als Verkettungsoperator für Strings. Nächster Versuch: PARAMETERS Param long; SELECT ID FROM TEST WHERE ID = CLng(ID) & CLng([Param]) Ergo: Geht auch nicht, Access zickt immer noch rum. Gut dacht ich mir, schreibste nen VBA-Makro, über Extras -> Makros -> Visual Basic Editor neues Modul angelegt und folgenden Text geschrieben: Option Compare Database Public Function CheckBit(L1 As Long, L2 As Long) As Boolean If Not IsNumeric(L1) Or Not IsNumeric(L2) Then CheckBit = False Else CheckBit = (CLng(L1) = (CLng(L1) And CLng(L2))) End If End Function Ergo: geht. PARAMETERS Param long; SELECT ID FROM TEST WHERE CheckBit(ID, [Param]) Programm gestartet (CheckBit-Funktion war nun im Query), Fehler bekommen: Undefinierte Funktion 'CheckBit' in Ausdruck. -> Was mach ich falsch? bzw. gibts eine einfachere Möglichkeit, das ohne Makros zu machen? Wenn ja, wie? Wenn nein, wie mach ich die Makros so verfügbar, dass diese auch beim Verwenden externer Programme korrekt funktionieren (ohne, dass ich beim Kunden noch irgendwas extra installieren muss)? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 14. Dezember 2009 Teilen Geschrieben 14. Dezember 2009 bzw. gibts eine einfachere Möglichkeit, das ohne Makros zu machen? Wenn ja, wie? ja schon, nur ob du damit glücklich wirst: FIX: Jet drivers do not support bitwise operators zum rest, leider keine ahnung, mit access werd ich glücklicherweise verschohnt ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 15. Dezember 2009 Autor Teilen Geschrieben 15. Dezember 2009 Danke, mathematisch umgedacht hatte ich gestern auch noch. (blödes Access :floet:) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.