Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Heldin am Oktober 19, 2016, 07:16:36

Titel: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: Heldin am Oktober 19, 2016, 07:16:36
Hallo ihr lieben,
ich sag schon im Vorraus Danke, da ihr mir bisher immer habt weiter helfen können.
Ich bekomme von unserem Labor regelmäßig eine Excel Liste, welche Proben von welcher Person da ist.
unsere Teilnehmer haben ID's die folgendermaßen aufgebaut sind: A-00000 B-00000
Unser Bioproben Datenbank System speichert die Id aber folgendermaßen ab: Arm A und dann die fünfstellige Nummer. beim übertragen in Excel allerdings verliert er die führenden Nullen.
An sich kein Problem, da wir für beide Arme eine eindeutige Zahlenkombination haben.
Nun möchte ich aber gerne meine Labordatenbank verknüpfen mit meiner TeilnehmerDatenbank.
Da sind die ganzen ID eben mit der führenden Nullen drinnen. z.B. A-00034
jetzt bekomm ich es leider nicht hin, die führende Null in meiner Labordatenbank drin zu halten.
Ich hab ein neues Feld erstellt (berechnet) und im Format 00000 eingegeben. das funktioniert. Da macht er mir die führenden Nullen rein.
Wenn ich jetzt jedoch in dem neuen TN_ID Feld (auch berechnet) das ganze zusammen setzen will, mit einer wenn dann Abfrage, weil ich nunmal Arm A und Arm B habe schmeißt er sie mir wieder raus.
Ich tippe spontan auf Typenproblematik... das Feld 00022 ist ein Long Integer Feld... mein TN_ID Feld müsste aber ein Text Feld sein, weil da eben Buchstaben und Sonderzeichen drinnen vorkommen.
Gibt es eine einfache lösung?
zum einfachen vergleichen würde mir SAS reichen. Aber ich muss diese beide Tabellen irgendwie zusammen bekommen, damit Chefe den aktuellen Stand der Bioproben weiß.
ich könnte natürlich auch mir im Excel Sheet die führende Null mit anzeigen lassen, das bekomm ich unproblematisch hin. Aber diese Labordatenbank muss auch funktionieren wenn ich nicht da bin.
Tipps? Tricks? Anregungen?

danke und habt einen ruhigen Tag

Interessant... auf Abfrage Basis funktioniert das:
hier mal was ich eingegeben habe:

neu: Wenn([Studienarm]="Arm A";"A-" & Format([tn_idnull];"00000");"B-" & Format([tn_idnull];"00000"))
Aber geht das nicht schon bereits in der Tabelle abzuändern. So dass ich in Zukunft nur noch die neuen Excel Dateien an die Gesamt Datei anhängen kann und Access macht mir den rest?
Titel: Re: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: MzKlMu am Oktober 19, 2016, 08:33:52
Hallo,
nein, in der Tabelle ist das nicht möglich. Ein Zahlenfeld (Longinteger) kann man nicht zum Speichern führender 0en überreden. Das Format gaukelt diese nur vor, aber in der Tabelle ist nur die reine Zahl.
Titel: Re: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: DF6GL am Oktober 19, 2016, 08:41:36
Hallo,

erstell ein neues Feld vom Datentyp Text ("ArmProbeID") und eindeutigen Index  in der Tabelle und aktualisiere das etwa so:

Currentdb.Execute "Update tblDeineTabelle Set ArmProbeID = Right([Studienarm],1) & "-" & Format([tn_idnull],"00000")

Anschliessend benutzt Du dieses Feld zur Verknüpfung.
Titel: Re: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: Heldin am Oktober 19, 2016, 09:28:12
Oh warum kann Access nicht einfach machen, was ich will, wie ich es will und am besten ohne dass ich was dafür tun muss :)
mir ist klar, Access ist zum speichern der Daten da und nicht zum berechnen von irgendwas, aber es wäre sehr nett wenn Access das auch könnte...
ich probier jetzt mal eure Lösungsvorschläge aus und bete, dass es klappt :)
Titel: Re: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: MzKlMu am Oktober 19, 2016, 09:37:44
Hallo,
ZitatAccess ist zum speichern der Daten da und nicht zum berechnen von irgendwas,
aber natürlich ist Access auch zum Berechnen da, sogar recht umfangreich. Wie sonst willst Du z.B. eine Rechnung in Access (Bericht) erstellen, wenn man mit Access nicht rechnen.
Und eine Zahl ist nun mal ein Zahl. Versuche mal auf Deinem Taschenrechner 0001 einzugeben.

Der Vorschlag von Franz verwendet ein neues Feld das als Textfeld anzulegen ist. Dieses Textfeld muss immer aktuell gehalten werden.
So wie Du das machst, (neu: ...) wird ein neues Feld in einer Abfrage erstellt, das dann auch mit einer weiteren Abfrage zur Verknüpfung genutzt werden kann.

Ich persönlich würde die Abfrage bevorzugen, da diese automatisch stets aktuell ist.
Titel: Re: führende Nullen in Tabelle bei einem Textfeld
Beitrag von: DF6GL am Oktober 19, 2016, 12:18:39
Hi,

prinzipiell ist das richtig,  wenn es sich aber viele Datensätze handelt, ist das Tabellenfeld wesentlich performanter (Indizierung) .  Die Aktualität kann ja automatisch sicher gestellt werden.