Kaustobiolith Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Hallo, ich habe folgendes Problem. In einer Access-Datenbank wurden Postleitzahlen abgespeichert. Städte im Osten fangen mit einer 0 an. Nun wurden bei diesen Städten die 0 einfach weggekürzt. Somit habe ich statt einer 5stelligen nur eine 4stellige PLZ. Ich möchte ein Modul schreiben, dass überprüft ob in dem Feld 4 oder 5 Zahlen hinterlegt sind. Wenn nur 4, dann soll automatisch vorne eine 0 angefügt werden. Kann mir jemand einen Tip geben wie ich dieses Problem am besten lösen kann? Danke schonmal. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EHEMALIGER_IB Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Hallo, ich habe jetzt zwar keine Zeit die genaue Access-Syntax zu testen, aber sinngemäß müsste es so funktionieren: UPDATE PLZ FROM Tabelle SET PLZ='0'+PLZ WHERE LEN(PLZ)=4; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tauron Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Moin ! musst dann nur dran denken das PLZ-Feld auf "Text" umzustellen, da er die führenden Nullen sonst immer wieder wegkürzt. gruß Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kaustobiolith Geschrieben 23. Juli 2002 Autor Teilen Geschrieben 23. Juli 2002 Danke erstmal, was jetzt prinzipiell gemacht werden muss habe ich kapiert. Nur an der Umsetzung hapert es immer noch etwas. Ich arbeite nur sehr selten mit Access. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
C-Master Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Also : 1. besagte Tabelle in Entwurfsansicht öffnen 2. Im Feld "Postleitzahl" den Felddatentyp von Zahl auf Text stellen Mehr musst du eigentlich nicht tun. Greetz Chessi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kaustobiolith Geschrieben 23. Juli 2002 Autor Teilen Geschrieben 23. Juli 2002 Original geschrieben von C-Master 1. besagte Tabelle in Entwurfsansicht öffnen 2. Im Feld "Postleitzahl" den Felddatentyp von Zahl auf Text stellen Das habe ich bereits getan. Die PLZ's werden immer noch 4stellig angezeigt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Meenzer Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Hi! Vielleicht muss Du noch die Textlänge bei den Eigenschaften des Feldes verändern und auf 5 oder 6 stellen?? Und dann kannst Du Dir eine kleine Funktion schreiben, wo Du die Länge abprüfst und zur Not ne 0 davor setzt. So ungefähr: --------------------------------------------------------- dim rs as recordset dim strPLZ as string set rs = currentdb.openrecordset("SELECT PK,PLZ FROM TABELLE ORDER BY PK",dbopenforwardonly) 'PK ist der Primary Key do until rs.eof Select case len(rs!PLZ) case 3: strPLZ = "00" & rs!PLZ case 4: strPLZ = "0" & rs!PLZ end select currentdb.excute "UPDATE TABELLE SET PLZ = '" & strPLZ & "' WHERE PK = " & rs!PK rs.movenext loop rs.close set rs = nothing ----------------------------------------------- Das musst Du nur noch in eine Funktion packen und mal testen, ob's geht. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
C-Master Geschrieben 23. Juli 2002 Teilen Geschrieben 23. Juli 2002 Original geschrieben von Kaustobiolith Das habe ich bereits getan. Die PLZ's werden immer noch 4stellig angezeigt. Hm, hast du denn die PLZ's mit 0 nochmal neu eingegeben ? Musst du auf jeden Fall tun. Greetz Chessi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kaustobiolith Geschrieben 23. Juli 2002 Autor Teilen Geschrieben 23. Juli 2002 Original geschrieben von C-Master Hm, hast du denn die PLZ's mit 0 nochmal neu eingegeben ? Musst du auf jeden Fall tun. Greetz Chessi Genau das wollte ich mir ersparen Werde jetzt erstmal Mercutios Code ausprobieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EHEMALIGER_IB Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Du musst die PLZs natürlich nicht noch einmal eingeben! Setze die Felder auf Text, die Länger der Felder min. 5 (5stellige PLZ halt) und starte dann ne Aktualisierungsabfrage mit dem Inhalt aus meinem ersten Posting. Dann datet er alle Felder up, die nur 4 stellen lang sind (Also die wo die 0 Fehlt, die anderen sind ja 5 lang) und setzt die 0 vor den jeweiligen Eintrag. Danach solltest du alles 5 stellige PLZs haben, mit "0". An der Syntax musst Du halt nen bisschen basteln, machs am besten im SQL-Entwurfsfenster. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UBAI Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Wenn du schpn Text wählst, dann nimm Uppercase ! Oder nimm nicht Text sondern Code, falls das in deiner DB als Datentyp vorhanden ist. Grund: In Deutschland besteht der PLZ - Code zwar aus Zahlen aber in den Niederlanden oder Britanien oder sonst wo ist das nicht immer der Fall. Und wenn ihr später auch mal Adressen aus dem Ausland mit Aufnehmen wollt, hast du 1. ein Problem wenn du dein Feld auf 5 Zeichen beschränkt hast und 2. weil du Text genommen hast. Denn so kann der DAU die PLZ von Amsterdamm (1009 AG) 4x anders eingeben (Groß-Kleinschreibung). Und das Ende der Geschichte ist, ihr habt Redundanzen Gruß UBAI - Kaum macht mans richtig, schon funktionierts ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth_Zeus Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Folgendes: Öffne die Tabelle in der Entwurfsansicht. Deklariere das Feld mit den Postleitzahlen als 'Zahl'. Unten sind 2 Registerkarten, eine heisst 'Allgemein' die andere 'Nachschlagen' . Nimm 'Allgemein'. Gib unter Format '00000' an, schon hast du deine führenden Nullen. Es werden auch alle alten 4-stelligen Inhalte mit einer führenden Null versehen. Ich bin ja AE, aber wenn nicht codiert werden muss, tu ich's auch nicht!!!!!!!!!!!!!! Gruss Flo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UBAI Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Ein PLZ - Code als Zahl zu deklarieren ist absoluter Schwachsinn !! Dann klappts zwar mit Bayern und Hessen aber nie im Leben mit Ausländern ! Angenommen die Tabelle "PLZ - Codes" in der er die PLZ + Ort hinterlegt, ist Grundlage für das Feld Debitor.PLZ <- Relation auf "PLZ - Codes" dann kann er nur deutsche nicht mal österreichische da führendes AT eintragen ! Ach übrigens auch die deutsch PLZ besteht nicht nur aus Zahlen sondern auch aus Buchstaben. Die korrekte PLZ ist nämlich DE-06369. Ach ja, wo ist da was zu proggen ? Alles noch Tabellendesign ! Gruß UBAI - Kaum macht mans richtig, schon fubnktionierts ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Original geschrieben von UBAI Die korrekte PLZ ist nämlich DE-06369. Das ist falsch. Nach DIN 5008 sind Postleitzahlen 5-stellig numerisch. Zusatz zu Auslandsanschriften aus der DIN 5008: -------------------------------------------------------------- Auslandsanschriften müssen in lateinischer Schrift und arabischen Ziffern geschrieben werden. Die Anordnung der Bestandteile der Anschrift sowie deren Schreibweise sollten vom Briefpartner – wenn er schon bekannt ist – übernommen werden. Der Bestimmungsort ist in Großbuchstaben nach Möglichkeit in der Sprache des Bestimmungslandes anzugeben (z. B. GENÉVE statt Genf, BRUXELLES statt Brüssel, PRAHA statt Prag, MILANO statt Mailand). Das Bestimmungsland ist in Großbuchstaben in der letzten Zeile der Anschrift anzugeben, und zwar in Deutsch oder Französisch. Das Voranstellen eines sogenannten Länderkürzels vor die Postleitzahl (PLZ) des Bestimmungsortes wird von der Deutschen Post derzeit nicht mehr empfohlen (früher z. B. für Spanien E-28070 MADRID oder für Belgien B-1000 BRUXELLES). -------------------------------------------------------------- Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth_Zeus Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Original geschrieben von UBAI Ein PLZ - Code als Zahl zu deklarieren ist absoluter Schwachsinn !! Dann klappts zwar mit Bayern und Hessen aber nie im Leben mit Ausländern ! Angenommen die Tabelle "PLZ - Codes" in der er die PLZ + Ort hinterlegt, ist Grundlage für das Feld Debitor.PLZ <- Relation auf "PLZ - Codes" dann kann er nur deutsche nicht mal österreichische da führendes AT eintragen ! Ach übrigens auch die deutsch PLZ besteht nicht nur aus Zahlen sondern auch aus Buchstaben. Die korrekte PLZ ist nämlich DE-06369. Ach ja, wo ist da was zu proggen ? Alles noch Tabellendesign ! Gruß UBAI - Kaum macht mans richtig, schon fubnktionierts ! ich sehe schon, du bist so vieles besser als ich!! warum darf ich nicht so toll sein wie du? warum nicht?? lies dir bitte mal die din normen durch, dann erfährst du, dass die plz 5-stellig sind. das beschriebene problem nennt 4-stellige plz, und das behebe ich eben ohne sql statement. übrigens habe ich für auslandskennzeichen ein eigenes feld, das einfluss auf die jeweiligen plz/zip hat. aber wie gesagt, du bist bestimmt ein besserer datenbankdesigner und programmierer als ich. flo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Koenntet Ihr beim Thema bleiben und die Seitenhiebe unterlassen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UBAI Geschrieben 25. Juli 2002 Teilen Geschrieben 25. Juli 2002 @ Darth_Zeus Welche Norm meinst du denn ? Es ist zwar korrekt, das die DIN 5008 sagt, das PLZ-Codes 5-stellig numerisch sind, aber die DIN 5008 gilt in Deutschland (D eutsche I ndustrie N orm) In USA oder GB oder Rußland sind PLZ definitiv nicht nur nummerisch und auch nicht nur 5 stellig. Meine Aussage war, wenn er Ausländische Adressen erfassen möchte, das ein 5-stelliges Zahlen nicht ausreichen wird. Als Bsp, das andere Länder andere PLZ-Codes haben hier noch mal ein Bsp: Dudley (GB) -> DY5 4DJ Miami (USA) -> FL 37125 Zutphen (NL) -> 7202 BP Gruß :e@sy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.