1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

ACCESS -IP-Zahlenerweiterung beim Import

Discussion in 'Office-Programme' started by slazenger86, May 27, 2003.

Thread Status:
Not open for further replies.
  1. Hi Leute!

    Ich mach derzeit nen Praktikumsprojekt mit Access und habe folgendes Problem.
    Es sollen, aus zwei Quellen die man lediglich lesen jedoch nicht ändern kann, IP-dressen ausgelesen werden. Die IP-Adressen sind z.B.
    122.039.012.153
    und
    122.39.12.153
    Um diese von Access vergleichen zu lassen müssten Sie erstmal geanu den gleichen Wert haben. Wie kann ich, wenn ich die Daten zuvor durch ein Makro importieren lasse, die fehlenden Nullen ergänzen bzw. automatisch ergänzen lassen??
    Da es ziemlich viele Adressen sind, die es gilt auslesen zu lassen, wäre eine allgemeine Vorschrift notwendig.

    Gruß Markus
     
  2. Also ich bin da auf ein weiteres Problem gestoßen:

    Die einzelnen Stellen der IP lasse ich nun in Dreiergruppen auslesen. In der gleichen Abfrage füge ich diese auch gleich wieder zusammen, so dass 5 Spalten entstehen. Nun will ich ganz einfach nur die komplette IP anzeigen lassen und gehe demzufolge in die Entwurfsansicht für die Abfrage und bei der Option "Anzeigen" deaktiviere ich das Häkchen im Kontrollkästchen. Möchte ich nun wieder in die Tabellenansicht wechseln, werde ich vom Programm aufgefordert für jede Dreiergruppe, die ich nicht anzeigen lasse Parameterwerte einzugeben. Diese Werte werden allgemeiner Form nicht akzeptiert (z.B. #) und gibt man dort einen Wert ein (z.B. 157) so wird diese Dreigruppe standardmäßig auf 157 festgelegt und somit ist jede IP identisch. Trotzdem würde ich gern in einer einzigen Abfrage nur die komplette IP angezeigt bekommen ohne jegliche Parameterwerte eingeben zu müssen.

    Gruß Markus
    [Diese Nachricht wurde von slazenger86 am 03.06.2003 | 14:49 geändert.]
     
  3. Also ich bin da auf ein weiteres Problem gestoßen:

    Die einzelnen Stellen der IP lasse ich nun in Dreiergruppen auslesen. In der gleichen Abfrage füge ich diese auch gleich wieder zusammen, so dass 5 Spalten entstehen. Nun will ich ganz einfach nur die komplette IP anzeigen lassen und gehe demzufolge in die Entwurfsansicht für die Abfrage und bei der Option "Anzeigen" deaktiviere ich das Häkchen im Kontrollkästchen. Möchte ich nun wieder in die Tabellenansicht wechseln, werde ich vom Programm aufgefordert für jede Dreiergruppe, die ich nicht anzeigen lasse Parameterwerte einzugeben. Diese Werte werden allgemeiner Form nicht akzeptiert (z.B. #) und gibt man dort einen Wert ein (z.B. 157) so wird diese Dreigruppe standardmäßig auf 157 festgelegt und somit ist jede IP gleich. Trotzdem würde ich gern in einer einzigen Abfrage nur dir komplette IP angezeigt bekommen.

    Gruß Markus
     
  4. castanho

    castanho Kbyte

    Ja, die Funktion gibt es in der Tat. In VBA heißt sie Mid(String; Start; AnzahlZeichen). (Schau nochmal in der Hilfe, ist schon \'ne Weile her, daß ich es benutzt habe.)
     
  5. PS:
    Die von mir geschrieben smilies sollten folgendes ausdrücken: "; )"
    (--> Semikolon mit anschließender schließender Klammer)
     
  6. Hi Thilo!

    Habe auch eine funktionierende Funktion gefunden.
    Nennt sich ZInteger("ausdr").
    Kürzt demnzufolge auch die Nullen raus. Mit der Funktion "Rechts(;)" und "Links(;)" kann ich immerhin die ersten und letzten drei Stellen einer IP auslesen lassen. Aber wie komm ich an die zweiten und dritten drei Stellen per Abfrage ran?
    Gibt es da so etwas wie eine Funktion "Mitte" in der man Teile auslesen kann??
    (z.B. Mitte([F7];5-7) würde dann die zweite Dreiergruppe an Zahlen auslesen, wenn es Mitte geben würde).

    Gruß Markus
     
  7. castanho

    castanho Kbyte

    Wenn Du nicht weiterkommst, melde Dich einfach wieder und poste auch den Code, den Du geschrieben hast. Dann kann ich Dir sehr konkret helfen.
     
  8. Jo, dann werd ich das mal machen.

    Vielen vielen Dank für Zeit und Mühe, die du für mich geopfert hast.
    ;-D

    ciao Markus
     
  9. castanho

    castanho Kbyte

    Schreib eine public funktion in einem Modul. Die kannst Du so verwenden wie eingebaute Funktionen auch - also auch in einer Abfrage.
    Die Funktion, die Du innerhalb Deiner function brauchst heißt Mid. Schau in der Hilfe wie man sie benutzt. Damit ließt Du jeweils die Dreiergruppen der IP-Adressen aus und schreibst sie in eine Integer-Variable. Dabei wird die führende 0 getötet. Anschließend baust Du den Rückgabewert der function aus dem Variableninhalt und Punkten Schritt für Schritt auf.
     
  10. jo, du hast recht, das eintfernen kommt auf jeden fall einfacher.
    Aber sag mal wie exportiere ich denn die dinger einzeln und importier sie dann wieder?? (Soll ja alles automatisch laufen - in mehereren 10000 Zeilen)
     
  11. castanho

    castanho Kbyte

    Wäre es nicht einfacher, die führenden Nullen zu entfernen? Du müßtest dann nur aus der "langen" IP-Adresse (die ja wohl als string vorliegt) jeweils die Dreiergruppen in eine Integer-Variable kopieren und einen neuen String aufbauen - mit den Punkten dazwischen.
    Die Notation mit führenden Nullen halte ich ohnehin für ungewöhnlich - und ich weiß, manche Programme kommen damit nicht zurecht.
     
Thread Status:
Not open for further replies.

Share This Page