Office: (Office 2016) Code für 64 Bit System aktualisieren

Helfe beim Thema Code für 64 Bit System aktualisieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ich habe heute meine Datenbank aufgerufen und bekomme folgende Meldung: Sie haben als Einstellung der Ereigniseingeschaft Ausdruck beim Laden... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Horst14, 4. November 2019.

  1. Code für 64 Bit System aktualisieren


    Ich habe heute meine Datenbank aufgerufen und bekomme folgende
    Meldung:

    Ist hier plötzlich ein Windows/Office update schuld?

    Ich habe euch den Teilausschnitt der angeblich defekt ist in den Anhang gelegt.
    Die Datenbank muss mit gedrücker Umschalttaste geöffnet werden.

    Gestern hat noch alles funktioniert.
    Ich habe nichts weiter umgestellt.

    HILFE....

    Ich danke euch vorab für eure Hilfe.

    :)
     
    Horst14, 4. November 2019
    #1
  2. Hallo Horst,

    hier mal ein paar extrem Hilfreiche Links zu dem Thema (Neben dem was Maxell verlinkt hat) Die haben mir bei der Umstellung eines Programmes geholfen. Weiter zu beachte ist,, wenn Du eine assde verwendest, dann muss diese immer unter 64 bit erstellt werden damit diese unter 64 bit Lauffähig ist. Bei einer accdb ist das unkritisch.

    https://docs.microsoft.com/de-de/off...tions-overview

    https://docs.microsoft.com/en-us/pre...383663(v=vs.85)

    https://docs.microsoft.com/en-us/pre...46(v=office.14)

    AllAPI.net - Your #1 source for using API-functions in Visual Basic!

    http://www.utteraccess.com/wiki/Category:API

    Codeschnipsel Beispiel um den Temporären Ordner zu bekommen. Lauffähig unter 32 und 64 bit
    Code:
    Maxell hat zwar recht, dass 64 bit "kein" Mensch braucht (Nur bei Excel hat das m.W. nach Auswirkungen oder du benötigst BigInt in Access) leider Stellen aber manche Firmen nun darauf um. Warum auch immer.

    Viele Grüße
    trekking
     
    trekking1, 6. November 2019
    #3
  3. Code für 64 Bit System aktualisieren

    @trekking1,

    bei dieser Funktion gibt es keinen Unterschied zwischen 32 und 64 Bit.
    Die Frage ist nun, ist das ein Versehen, oder verstehst du nicht was LongPtr bedeutet?
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 6. November 2019
    #4
  4. Ich danke euch für eure Antworten und Hilfe.

    zu deiner Frage:
    Ich weiß nicht genau was es bedeutet ja...

    Ich bin dabei eine Datenbank zu schreiben, a um für mich etwas zu lernen und b verbinde ich es mit einem Projekt welches ich mir ausgedacht habe, was ich für mich sinnvoll erachte und was ich für mich einsetzen könnte.
    Dabei arbeite ich auch mit dem ein oder anderen Code schnippsel (wie diesen)

    Ja eine zwingende veranlassung gibt es nicht aber auf dem Laptop war damals wohl eine drauf und ich habe mir nichts dabei gedacht.
    Und war jetzt nur verwundert über den Fehler.
    Und wenn ich jetzt in die Zukunft schaue denke ich 64 bit wird früher oder später Standard sein... Bzw in den Links steht ja das MS 64 Automatisch installiert.

    Eure Codebeispiele kann ich leider erst nächste woche in meiner Datenbank prüfen, da ich aktuell Beruflich unterwegs bin. ich werde mir die Links aber durchlesen und wenn ich es nächste Woche getestet habe, melde ich mich bei euch.

    Vielen Dank schonmal.
     
    Horst14, 7. November 2019
    #5
  5. Das war ja auch an trekking1 gerichtet.
    Wenn man in so einem Thema Hilfe bietet, sollte man sich selbst schon etwas auskennen. Daher die Frage, ob Versehen oder nicht.

    Wenn du dich in das Thema einarbeiten willst, dann schau dir die Links an.
    Grundsätzlich geht es aber um den Unterschied zwischen 32/64 Bit Anwendungen.
    Das LongPtr wird für Pointer benutzt. Diese benötigen bei einer 32Bit Anwendung 32 Bit ansonsten eben 64 Bit.
    Bei allem was aber kein Pointer ist, sollte man die Variable nicht benutzen.
    Das führt in der Regel aber zu keinem Absturz, da am anderen Ende ja trotzdem 32 Bit ankommen, auch wenn man versucht 64 Bit zu übermitteln.
    Dennoch kann das zu Fehlern führen die man sich dann nicht erklären kann.

    Wenn man also hier im Forum so was postet, wird man dann eben korrigiert.
    Das ermöglicht dann dem Helfer selbst zu lernen.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 9. November 2019
    #6
  6. Vielen Dank für die Antworten.

    @markusxy ich habe jetzt den Code wie folgt abgeändert:
    Der alte code ist das auskommentierte

    Code:
    Aber ich habe den Eindruck, dass da etwas noch nicht ganz passt. Es erscheint zwar keine Fehlermeldung aber mein Menü was vorher farbig hinterlegt war ist jetzt weiß so wie es aussah als ich den Code auskommentiert hatte.

    Das ist der gesamte Code:
    Code:
    Ich möchte gern erreichen, dass es unter 32Bit sowie 64Bit funktioneirt und wenn ich es richtig verstanden habe, geht das ja nur mit PtrSafe den das erkennt ob es Long oder LongLong ist.
     
  7. Code für 64 Bit System aktualisieren

    Hallo Horst,
    zumindest eine Deklaration ist richtig.
    GetDC liefert einen Pointer.

    Im Code verwendest du das so:

    Code:
    Im Code weist du das Ergebnis einer Long Variable zu.
    Das würde bedeuten, dass bei Nutzung von 64 Bit hier die Hälfte der Information verloren geht und die weiteren Funktionen, die die Info benötigen falsche Ergebnisse erhalten.

    Du siehst also, selbst eine korrekte Deklaration, ist nur die halbe Miete.
    Du kannst mal im Web nach der Datei Win32API_PtrSafe.TXT suchen.
    Darin finden sich viele API Deklarationen.
    Wenn man aber versteht um was es geht, löst man das aber auch ohne die Datei. Das hat dann den Vorteil, dass man nicht ansteht, wenn man nichts zum Kopieren hat.
     
    markusxy, 12. November 2019
    #8
  8. Danke für deine Antwort Markus,

    Meinst du deine?

    Ich habe mir die Datei angesehen:
    https://github.com/ReneNyffenegger/W...PI_PtrSafe.txt

    Kannst du mir bitte helfen das zu verstehen?
    Also zwischen Long und LongPtr gibt es einen unterschied. bei Ptr ist es egal ob es 64 oder 32 Bit ist bei Long ist es nicht egal das geht nur auf 32 Bit richtig?

    Ich habe angenommen, dass es reicht wenn ich Dim nDC As LongPtr schreibe aber dem ist nicht so.
    Was für mich heißt ich habe es definitiv nicht fichtig verstanden :-(
     
  9. Verstehst du was ein Pointer ist?
    Im Prinzip ist es eine Variable, deren Inhalt eine Adresse ist und keine Daten.
    Die Adresse ist die Speicherstelle mit den tatsächlichen Daten.

    Beispiele in VBA: Ein Objekt, ein String/Array dynamischer Länge.
    Ein hWnd enthält die Adresse eines Formulars usw.

    Bei 64Bit Anwendungen benötigen diese Adressen bzw. Pointer 64 Bit bei 32 Bit Anwendungen 4 32Bit.

    Ein Variable vom Typ LongPtr nimmt bei 32 Bit Anwendungen 32 Bit auf, bei 64 Bit Anwendungen 64 Bit.

    Alles andere Variable Typen sind unverändert.

    Der Programmierer muss also bei Nutzung von API verstehen, ob eine Variable einen Pointer übermittelt.

    Im Code selbst musst du daher natürlich auch LongPtr verwenden, wenn du einen Pointer speichern willst.

    LG M
     
  10. Das Ein Pinter ein zeiger ist wusste ich ja.
    Genau das habe ich auch so verstanden.

    nDC bzw. GetDC ist doch immer ein Pointer von daher habe ich gedacht muss ich Long in LongPtr abändern bei allen sowie im Funktions aufruf As Long in As LongPtr ändern nur da es nicht funktioniert habe ich es nicht richtig gemacht :-(
    Sehe ich was nicht oder habe ich einen kompletten denk fehler?
     
  11. Code:
     
  12. Code für 64 Bit System aktualisieren

    Ja so habe ich es doch gemacht....
    Aber es wird dennoch kein Ramen um mein Menü angezeigt so wie es eigentlich sein soll bzw das Menü sollte ein leicht Grauen Hintergrund haben.

    Was stimmt an meinem Code nicht?
    Code:
     
  13. Hallo Hubert,
    also erstens sie die anderen Deklarationen nach wie vor falsch.
    Schau in der Datei nach, und vergleiche mit dem was du gemacht hast.

    Abgesehen davon, zeigst du keinen Code der ein Menü verändern könnte.
    Du siehst doch das der Code nur Werte abfragt und absolut gar nichts macht.
     
  14. Danke für deine Geduld mit mir...
    Du meinst diese:
    Code:
    Ich weiß vorkauen schneckt nicht aber ich bekomme es nicht hin und wenn du sagst mein Menü Hintergrund nicht mehr erscheint, dann weiß ich doch noch nicht mal wenn meine Änderungen korrekt sind. Dann weiß ich ja noch nicht mal ob das was ich ändere von erfolg ist :-( *heul*

    Bevor das drahma los ging mit der 64 Bit variante hatte er doch aber den Hintergrund leicht grau eingefärbt, von daher ging ich davon aus. ich habe den VBA code Snippel aus dem Netz :-/
     
Thema:

Code für 64 Bit System aktualisieren

Die Seite wird geladen...
  1. Code für 64 Bit System aktualisieren - Similar Threads - Code Bit System

  2. Code läuft mit F8 durch, beim CommandButon nicht

    in Microsoft Excel Hilfe
    Code läuft mit F8 durch, beim CommandButon nicht: Hallo, wer könnte mir weiter helfen. Beim Bedienen mit F8 läuft der Code. Mit dem CommandButton kommt der Fehler bei Zeile: ActiveSheet.Range("D1").AutoFilter Field:=4, Criteria1:="=*" &...
  3. Code für Zeilensprung auf 125 Ändern

    in Microsoft Excel Hilfe
    Code für Zeilensprung auf 125 Ändern: Hallo, Ich habe mein Excel Datei auf 125 Prüflinge erhöht (vorher war es nur bis 75) Code habe ich auch angepasst damit es automatisch weiter springt beim messen. nur es funktioniert nicht mehr...
  4. Code von 32-Bit auf 64-Bit umschreiben

    in Microsoft Excel Hilfe
    Code von 32-Bit auf 64-Bit umschreiben: Hallo Ich habe vor längerer Zeit von einem Bekannten eine Excel Datei bekommen, mit der ich Dateien und Orte bestimmter Laufwerke auflisten kann Jedoch liefe diese datei nur unter 32bit. Da ich...
  5. Fehler im code bei Umstieg auf Excel 64 bit

    in Microsoft Excel Hilfe
    Fehler im code bei Umstieg auf Excel 64 bit: Hallo Forengemeinschaft. Mit dem unten stehenden Code konnte ich - in Excel 2013 32 Bit - das Verschieben von Userformen verhindern und das Kreuz ausblenden. (Code hat Nepumuk mal ins Netz...
  6. Code von 32-Bit auf 64-Bit umschreiben

    in Microsoft Excel Hilfe
    Code von 32-Bit auf 64-Bit umschreiben: Hallo Ich habe vor längerer Zeit einen Code aus dem Internet gefunden, mit dem ich in einer neuen Aplication eine Arbeitsmappe öffnen kann. Jetzt stelle ich fest, dass dieser Code auf ein System...
  7. Umstellung auf Windows 64 bit, Code-Anpassung

    in Microsoft Access Hilfe
    Umstellung auf Windows 64 bit, Code-Anpassung: Hallo, ich habe eine alte Datenbank übernommen, in der folgender Code enthalten ist. Jetzt soll auf Win 64 bit umgestellt werden, leider habe ich kaum Ahnung davon, welche Anpassungen nötig sind....
  8. Office 365 64 Bit-Version, VBA-Code funktioniert nicht mehr

    in Microsoft Access Hilfe
    Office 365 64 Bit-Version, VBA-Code funktioniert nicht mehr: Hallo Gemeinde Ich habe eine alte Datenbank, erstellt unter Access 2000, konvertiert nach Access 2007. Eine Kundin hat nun auf ihrem PC Office 365 in der 64 Bit-Version installiert. Nun...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden