Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: phyton2706 am Juli 11, 2012, 15:46:43

Titel: Zusammenstellen eines Primärschlüssels während Formulareingabe
Beitrag von: phyton2706 am Juli 11, 2012, 15:46:43
Hallo zusammen,

ich hätte da mal wieder ein Problem...

In einer Tabelle (tbl_Besuche) gibt es unter anderem folgende Felder:

Int_Nr (LongInteger), AD_Nr (Double), Datum (Datum, kurz) etc.

Die Tabelle kann auf 2 Wegen gefüllt werden.

1. Täglicher automatischer Import von einem SQL-Server
2. Manuelles erfassen über ein Formular durch eine Kollegin.

Das Formular beinhaltet ein Endlosformular welches direkt auf die Tabelle zugreift.
Das Feld Int_Nr wird beim Datenimport mit einem Wert gefüllt, der sich aus der AD_Nr und einem TimeStamp zusammen setzt.

Jetzt zu meinem Problem:
Ich möchte gerne, dass sich das Feld bei der manuellen Eingabe automatisch aus der Eingabe der AD_Nr. + TimeStamp zusammen setzt.

Könnt Ihr mir da auf die Sprünge helfen?


LG
Frank
Titel: Re: Zusammenstellen eines Primärschlüssels während Formulareingabe
Beitrag von: DF6GL am Juli 11, 2012, 16:12:16
Hallo,

das Ganze steht aber auf tönernen Füßen....


WARUM muss sich Int_Nr aus den anderen Werten zusammensetzen.


Int_Nr  ist Long, die anderen beiden Werte Double. Wie sollen die Double-Werte zu Integer konvertiert werden?



"Das Feld Int_Nr wird beim Datenimport mit einem Wert gefüllt, der sich aus der AD_Nr und einem TimeStamp zusammen setzt."

zeig  mal ein Beispiel...



"Ich möchte gerne, dass sich das Feld bei der manuellen Eingabe automatisch aus der Eingabe der AD_Nr. + TimeStamp zusammen setzt."

Vermutlich willst Du nicht addieren, sondern zwei Strings verbinden....


Stelle zunächst Int_Nr auf TEXT in der Tabelle um. Dann:

Sub Form_Before_Update(Cancel as Integer)
Me!Int_Nr = Format(AD_Nr,"0") & Format(Me!Datum,"dd.mm.yyyy")
End Sub
Titel: Re: Zusammenstellen eines Primärschlüssels während Formulareingabe
Beitrag von: phyton2706 am Juli 11, 2012, 16:22:13
Hallo DF6GL,

Zitat von: DF6GL am Juli 11, 2012, 16:12:16
WARUM muss sich Int_Nr aus den anderen Werten zusammensetzen.

Ich benutze das Feld, um eine Eindeutigkeit heraus zubekommen...

Zitat von: DF6GL am Juli 11, 2012, 16:12:16
"Das Feld Int_Nr wird beim Datenimport mit einem Wert gefüllt, der sich aus der AD_Nr und einem TimeStamp zusammen setzt."

zeig  mal ein Beispiel...
Hier ein Beispiel der übergebenen Daten:

INT_Nr                  ADM   Datum
1263461273936   12   04.01.2012

Ich werde Deinen Code gleich mal testen...

Titel: Re: Zusammenstellen eines Primärschlüssels während Formulareingabe
Beitrag von: DF6GL am Juli 11, 2012, 17:14:51
Hallo,


so ein Feld brauchst Du nicht, damit kannst Du sowieso nichts anfangen.


Setz in der Tabelle einen eindeutigen, zusammengesetzten Index über die Felder ADM  und  Datum.

Füge für evtuelle spätere Erfordernisse ein zusätzliche Autowertfeld als Primärschlüssel hinzu.


Dabei ist die Frage offen, warum ADM den Datentyp Double haben muss und Int_Nr nicht den Datentyp TEXT verpasst bekommen hat.