ACCESS -IP-Zahlenerweiterung beim Import

Dieses Thema im Forum "Office-Programme" wurde erstellt von slazenger86, 27. Mai 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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

    Registriert seit:
    4. März 2003
    Beiträge:
    292
    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. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    PS:
    Die von mir geschrieben smilies sollten folgendes ausdrücken: "; )"
    (--> Semikolon mit anschließender schließender Klammer)
     
  6. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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

    Registriert seit:
    4. März 2003
    Beiträge:
    292
    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. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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

    Registriert seit:
    4. März 2003
    Beiträge:
    292
    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. slazenger86

    slazenger86 Byte

    Registriert seit:
    13. Dezember 2002
    Beiträge:
    33
    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

    Registriert seit:
    4. März 2003
    Beiträge:
    292
    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.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen