Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Umstieg von 2003 auf 2016

Begonnen von PeterW, April 12, 2017, 13:48:11

⏪ vorheriges - nächstes ⏩

PeterW

Ich habe den Umstieg von Access 2003 auf 2016 versucht und bekommen bei der Declaration
Private Declare PtrSave Function LoadCursorFromFile _
        Lib "user32" _
        Alias "LoadCursorFromFileA" ( _
        ByVal lpFileN4ame As String) As Long

die folgende Meldung:
Der Code in diesem Projekt muss für die Verwendung auf
64Bit Systemem aktualisiert werden. Überarbeietn und aktualisieren Sie
Declare Anweisungen und markieren Sie sie mit dem PtrSave-Attribut

ich finde nirgends eine Hinweis, was das bedeuten soll
Viele Grüße aus Berlin
Peter

markusxy

#1
Hier gibts Infos zum Umstieg von 32 auf 64 Bit und umgekehrt.

Die Funktion lieft die Adresse eines Curors. Damit muss der Rückgabewert 64 Bit haben also LongPtr oder LongLong bei VBA.

LG Markus

PeterW

Hallo Marcus,
ich bin deinem Rat gefolgt und habe die 32Bit-version installiert.
Hier habe ich warscheinlich weniger Probleme
Viele Dank
Viele Grüße aus Berlin
Peter

PeterW

Ich habe ein Frontend aus der 2003 Welt mitgebracht, worin ich in einigen Formularen ein Bild-Feld habe.
Mit der VBA-Zeile:
me.Feldbild.picture = C:\Pfad\Datei.jpg
habe ich unter 2003 dem Feld ein Bild zugewiesen und es ist einwandfrei angezeigt worden.
Jetzt unter 2016 funktioniert das nicht mehr.
Gibt es dafür eine Erklärung?
Viele Grüße aus Berlin
Peter

Beaker s.a.

Hallo Peter,
Vermutlich ist die .Picture-Eigenschaft auch in A2016 immer noch ein Stringwert
Zitatme.Feldbild.picture = "C:\Pfad\Datei.jpg"
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PeterW

Hallo Ekkehard,
du hast natürlich recht, es ist ein Stringwert und so ist es auch in dem Programm.
Es hat ja doch, wie geschrieben, unter Access 2003 funktioniert.
Das also kann nicht die Ursache sein.
Viele Grüße aus Berlin
Peter

Beaker s.a.

Sorry, dann kann ich nicht weiter helfen. Ich habe A2010, und da funzt es wie gehabt.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: PeterW am April 14, 2017, 18:42:06habe ich unter 2003 dem Feld ein Bild zugewiesen und es ist einwandfrei angezeigt worden.
Jetzt unter 2016 funktioniert das nicht mehr.
Das ist (genauer: war) ein Bug in Access 2016.
Seit Dezember 2015 gibt es ein Update für Access 2016, das diesen Fehler behebt.

Dieses Update solltest auch über Windows-Update bekommen. Es wäre sicher eine gute Idee, diese Update-Funktionalität zu aktivieren, da darüber auch sicherheitsrelevante Updates verteilt werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

PeterW

Das war genau der richtige Hinweis, jetzt funktioniert es, vielen Dank
Viele Grüße aus Berlin
Peter