[Excel / Access]belegte nummern -> freie anzeigen

RobTuT

Grünschnabel
Hallöle leuts

ich will mir so ne tolle 01805 nummer anschaffen und habe folgendes problem..
die RegTP hat nur eine liste der bereits belegten nummern.. ich hätte aber gern eine liste der noch freien nummern .. da hab ich mir gedacht .. komm excel/access kann das bestimmt :> nur bin ich in sachen Makro / Coding eher ne niete :>

vielleicht kann mir hier jemand weiterhelfen.

Ich will das excel/access mir aus einem bereich (5000000 bis 5999999) alle verfügbaren nummer ausgibt.

beispiel:

Belegt Frei
5000001 5000002
5000003
5000004

da soll er merken das die nummer nicht in der liste steht und sie deshalb ausgibt
wie stell ich das am geschicktesten an ? jemand eine idee ?

vielen dank im vorraus :)
gruß
Rob
 
Du hast also eine Riesige Liste mit den Nummern und möchtest wissen ob eine bestimmte, die DU angibst, sich in der Liste befindet oder nicht!?
Hab ich das so richtig verstanden?

Wenn ja könnte dir ne Binäre Suche helfen, aber die schreib ich dir erst wenn du mir
sagst ob das stimmt wie ich das jetzt verstanden hab!
 
Nein, ich glaube er will eine Liste mit allen Nummern, die sich nicht in der Liste befinden.
Man kann es warscheinlich auch einfacher lösen, lasse mich da gerne belehren, aber ich würde es so in der Art machen:
Alle Nummern durchlaufen und nebenbei einen counter mitzählen lassen. Wenn counter + 1 nicht der aktuelle Wert ist, dann sind solange alle Nummern frei, bis counter = aktueller Wert ist.
Hier etwas code dazu (nicht in VB geschrieben, deshalb übernehme ich keine Haftung für Fehler :)
Code:
Dim counter%
Do while .. 'alle vorhandenen Nummern durchlaufen
  If ersterdurchlauf Then
    counter = erste Nummer
  Else
    If aktuelle Nummer <> counter + 1 Then
      Do while counter = aktuelle Nummer
        list.Add counter 'Nummer, die nich in der Liste sind irgendwo hinzufügen (Listbox o.ä.)
        counter = counter + 1
      Loop
    Else
      counter = aktuelle Nummer 'bzw. counter = counter + 1
    End If
  End If
Loop
 
erstmal vielen dank für eure antworten ! :)

um es an einem simplen beispiel nochmal zu verdeutlichen

ich habe eine liste mit nummern
1
2
3
5
6
7
9

so.. nun möchte ich mir anzeigen lassen welche nummern von 0-10 nicht in dieser liste auftauchen.

4
8
10

diese nummern sind also frei (da nicht in der liste erwähnt)

da die RegTP nur eine liste mit bereits vergebenen nummern bereitstellt könnt ihr euch vorstellen das es ne blöde arbeit ist sich da eine rauszuangeln ..

suye: macht dein script die funktion die ich mir erhoffe ? *g*

vielen dank nochmal an alle :)
 
Eine Zusatztabelle anlegen mit allen möglichen Nummern füllen. Diese dann mit einem Outerjoin gegen die richtige Tabelle in Beziehung setzen
 
Also meine Meinung: alles was mit Schleifen oder Vergleichoperationen zu tun hat, ist für dein Problem aufgrund der abzusehenden Rechenleistung nicht angebracht, du redes hier immerhin von 1 Mio möglichen Nummern und einer ganzen menge von schon bereits vergebenen.
Ich würde einfach Zettel und Bleistift zur Hand nehmen, mir schöne, passende Nummern überlegen, und anschließend per Suche in der Tabelle nach den Werten suchen - "Try and Error" eben.

Wenn du dass mit Schleife etc. machen möchtest, dann sortiere vorher die Liste die du bekommen hast, starte die Schleife und verkleinere den Suchbereich.

gruß
thekorn
 
Also ja, mein Codeschniplse würde die Aufgabe erfüllen.
Aber thekorn hat natürlich vollkommen Recht. Bei 1.000.000 Nummern würde es deinen Rechner enorm in die Knie zwingen und ich würde dir auch zu seiner Alternative raten.
 
Bei thekorns alternative würde er auch seine Schreibhand in die Knie zwingen, außerdem hab ich auch mal eine Binäre Suche über eine Liste von 40.000.000 Zeilen eines Textdokuments laufen lassen und es hat meinen Rechner grademal eine Nacht gekostet, also kann das nicht so lang dauern.
 
vielen dank leute ! :)

also ja erm .. ich würd ja sagen ich lass das teil dann einfach rödeln .. und hab am ende ne liste mit den freien nummern und such mir bequem eine davon aus.. nur noch eine frage
suye: wie bekomm ich deinen code in excel zum laufen ? muss ich noch änderungen vornehmen ..

dankö :)

gruß und schönes WE an alle
Rob
 
Zurück