Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Doming am Oktober 20, 2025, 08:36:59

Titel: doppelt with?
Beitrag von: Doming am Oktober 20, 2025, 08:36:59
Hallo,

beim Durchwühlen einer alten Datenbank fiel mir diese Codesequenz auf     Forms!Schulz_Abholung_Erfassung!TxBarcode = Forms!Scannen!Ind
    Forms!Schulz_Abholung_Erfassung!Auftrag = Forms!Scannen!Auftrag
    Forms!Schulz_Abholung_Erfassung!Pos = Forms!Scannen!Pos
    Forms!Schulz_Abholung_Erfassung!Typ = Forms!Scannen!Typ
Ist nur ein Auszug, der meiner Meinung nach nach With ... End With schreit.
Ist es möglich, zwei wiederkehrende Steuerelement-Ausdrücke zu definieren, in diesem Fall sowohl Forms!Schulz_Abholung_Erfassung als auch Forms!Scannen?

Die Benamsungen mal außen vor, zu viele Korrekturen möchte ich an einem mir ansonsten unbekannten Code nicht vornehmen.

Gruß
 Doming
Titel: Re: doppelt with?
Beitrag von: Josef P. am Oktober 20, 2025, 09:24:51
Hallo!

Du könntest für ein Formular eine Variable nutzen.

dim ScanForm as Form
set ScanForm = Forms!Scannen
with Forms!Schulz_Abholung_Erfassung
   !TxBarcode = ScanForm!Ind
   ...
   !Typ = ScanForm!Typ
end with

Anderer Gedanke:
Eventuell werden die Werte im Formular "Scannen" zuvor geprüft, ob sie inhaltlich stimmen.
Dann würde ich eher Variablen für die Werte verwenden.

dim Barcode as String
dim Auftrag as string
dim Pos as ...
...
dim Typ as ...

with Forms!Scannen
    Barcode  = Nz(!Ind, vbnullstring)
    if Barcode ...
    ...
    Typ = ...
    if ...
end with

with Forms!Schulz_Abholung_Erfassung
   !TxBarcode = Barcode 
   ...
   !Typ = Typ
end with

Gruß
Josef