Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datenbank mit DB_open table in Front und Backend trennen

Begonnen von martie01, Dezember 04, 2018, 21:31:03

⏪ vorheriges - nächstes ⏩

Lachtaube

Die temporäre Stückliste wird in einem eigenen Scratch-BE, welches bei jedem Start des Frontends neu erstellt wird, angelegt - das vermeidet Müll im eigentlichen Front- und Backend. Vor dem ersten Benutzen musst Du das Backend einmalig neu verknüpfen.
Grüße von der (⌒▽⌒)

martie01

Hallo Lachtaube, das sieht schon super klasse aus und ist genau das, was ich gesucht habe. Vielen lieben Dank...  :)

martie01

Hallo, ich habe das Tool getestet. Da ich eine 64bit Version habe, konnte mir Lachtaube den Tipp gegeben, das die "Private Declare" anders lauten muss. '-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetFileAttributesW Lib "kernel32" ( _
   ByVal lpFileName As LongPtr) As Long
'-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetTempPathW Lib "kernel32" ( _
   ByVal nBufferLength As Long _
, ByVal lpBuffer As LongPtr) As Long


Dennoch funktioniert das Teil beim mir und evtl. bei anderen nicht richtig.
Wenn ich im Formular"Gehäuse komplett" auflöse (Bestehend aus : Gehäuse komplett, Bodengruppe, 4xFüsse und 4xSchrauben werden die Schrauben nicht angezogen. In der Stüli sind sie drin.

Weiss jemand Rat ?? ::)

Ich habe die Datei hochgeladen. Bei mir stecken beide Dateien im C:\neuer Ordner. Dann kann man das so direkt übernehmen.

Gruss Martin

PhilS

Zitat von: martie01 am Dezember 21, 2018, 11:42:40
Hallo, ich habe das Tool getestet. Da ich eine 64bit Version habe, konnte mir Lachtaube den Tipp gegeben, das die "Private Declare" anders lauten muss. '-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetFileAttributesW Lib "kernel32" ( _
   ByVal lpFileName As LongPtr) As Long
'-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetTempPathW Lib "kernel32" ( _
   ByVal nBufferLength As Long _
, ByVal lpBuffer As LongPtr) As Long


Dennoch funktioniert das Teil beim mir und evtl. bei anderen nicht richtig.
Üblicherweise würde man in diesen API-Deklarationen anstelle der beiden LongPtr eher als String deklarieren. Die oben dargestellte Deklaration ist aber keineswegs zwingend falsch. Es kommt auf den aufrufenden Code an!

Zu dem anderen(?) Problem kann ich im Moment nichts sagen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Lachtaube

#19
Entschuldige Martin, aber aber ich habe leider einen logischer Fehler in den Code eingebaut. >:( Lösche die Zeile Source.MoveNext in EvalArticleList - dann werden auch die Schrauben angezeigt.

@Phil,

beim üblichen Vorgehen (üblich sicherlich zu Zeiten als Win95/98 noch aktuell war) findet dann eine doppelte Konvertierung der Strings statt. Denn VBA wandelt die Strings ins ANSI-Format um, welches von der API selbst wieder vor der Ausführung ins Wide-Format umgewandelt wird. ;D

'-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetFileAttributesA Lib "kernel32" ( _
   ByVal lpFileName As LongPtr) As Long
'-------------------------------------------------------------------------------
Private Declare PtrSafe Function GetTempPathA Lib "kernel32" ( _
   ByVal nBufferLength As Long, _
   ByVal lpBuffer As String) As Long
'-------------------------------------------------------------------------------
Grüße von der (⌒▽⌒)

martie01

Hallo,  Vielen Dank Euch Beiden.
Besonders Lachtaube. Das war´s :)