fortlaufende nummern ohne auto wert, access

Diskutiere fortlaufende nummern ohne auto wert, access im Developer Network Forum im Bereich Hardware & Software Forum; hi, da bin ich schon wieder mit nem kleinen access prob ... ich hab n terminplan, wo termine aufgelistet sind ... primärschlüssel is ne...
  • fortlaufende nummern ohne auto wert, access Beitrag #1
K

killmachine

Bekanntes Mitglied
Dabei seit
02.02.2003
Beiträge
2.682
Reaktionspunkte
6
hi, da bin ich schon wieder mit nem kleinen access prob ...

ich hab n terminplan, wo termine aufgelistet sind ... primärschlüssel is ne termin_nr mit autowert, auf die ich nie zugreifen muss ... felder sind dann noch beginn, ende, name, adresse usw.

ich habe eine eingabemaske, wo ich nach verschiedenen, o.g. genannten kriterien sortieren kann ... dann gibts da noch ne ausgabemaske, die nach beginn sortiert wird ...

zusätzlich will ich eine 2. terminnummer vergeben, die fortlaufend bei der eingabemaske und der ausgabemaske angezeigt werden soll ... also bei 1 beginnend bis sonstewas ... das darf aber kein autowert sein, weil 1. die termine mal geändert werden, der autowert dann aber mit übernommen wird und 2. wenn ich einen termin mit der nummer 20 lösche und einen neuen anlege, kommt als nächste numemr die 21 und nich die 20, die vorher gelöscht wurde ... also, autowert kommt meines erachtens nich in frage ...

aber wie kann ich das machen, dass ich ne fortlaufende nummer vor den terminen habe, die bei der eingabemaske neu generiert werden, sollte mal ein termin, der um 8 anfängt nach einem termin, der um 12 anfängt, der die nummer 1 hat, z.b. einfacher: termin 12 uhr hat numemr 1, termin 8, der ja vor 12 uhr is, nummer 2, <- muss neu generiert werden so dass 8 zu 1 wird und 12 zu 2 ...

viel gerede wenig sinn, hoffe, das versteht einer ...
 
  • fortlaufende nummern ohne auto wert, access Beitrag #2
Chrisu

Chrisu

Bekanntes Mitglied
Dabei seit
30.11.1999
Beiträge
1.364
Reaktionspunkte
0
Ort
EnterpriZe Elite
also wenn es wirklich so sein soll dass du unabhängig vom Autowert-Felddatentyp eine Zahl verwenden willst, die um 1 höher ist als die aktuell letzte, trotzdem jedoch Lücken "wiederverwendet" werden sollen, dann kommst du um eine Schleife nicht vorbei ... d.h., das Feld durchlaufen, um zu erkennen, ob es Lücken gibt, wenn nicht den letzten Wert um 1 erhöhen ... sowas läßt sich mit einer do...loop-Schleife einfach erledigen ...
 
  • fortlaufende nummern ohne auto wert, access Beitrag #3
K

killmachine

Bekanntes Mitglied
Dabei seit
02.02.2003
Beiträge
2.682
Reaktionspunkte
6
ok, schleife is kein prob, aber wie weiß ich, z.b. wieviele datensätze ich hab, also, wie oft die schleife zu durchlaufen is ... da fehlt mir einfach die grundkenntniss ...

also, was brauch ich? anzahl der datensätze=schleifendurchläufe
und
bei jedem datensatz die zahl anfügen ... sowohl eingabemaske, als auch druckausgabe ...

wobei die schleife auch wissen muss, was nummer 1 is, sprich, wenn ich nach beginn ordne, muss das die schleife wissen ...
 
  • fortlaufende nummern ohne auto wert, access Beitrag #4
Chrisu

Chrisu

Bekanntes Mitglied
Dabei seit
30.11.1999
Beiträge
1.364
Reaktionspunkte
0
Ort
EnterpriZe Elite
du holst dir einfach ein Recordset aus der Tabelle, welches nach der Nummer sortiert ist (SQL ... order by [Nummer]) - dann wird aufsteigend sortiert ...

im 2. Schritt läßt du die do ... loop durch das Recordset laufen
Code:
Do
RECORDSET.MoveNext
Loop until RECORDSET.Eof

vorher muss natürlich der erste Wert (1. Datensatz, Feld NUMMER) in eine Variable geschrieben werden, dann kann in der Do ... Loop-Schleife überprüft werden, ob der Wert im Feld NUMMER im aktuellen Datensatz um 1 höher ist als der, der in der Variable gespeichert ist. Ist dies der Fall, kannst du die Schleife zu Ende laufen lassen und den Wert des letzten Datensatzes um 1 erhöhen ... ergeben sich Lücken, kannst du diese mit einer IF-Abfrage in der Schleifen herausfinden und bei einem Treffer die Schleife abbrechen (Exit Do)

alles klar?
 
  • fortlaufende nummern ohne auto wert, access Beitrag #5
K

killmachine

Bekanntes Mitglied
Dabei seit
02.02.2003
Beiträge
2.682
Reaktionspunkte
6
Chrisu schrieb:


hört sich kompliziert an ... jetzt is ja erstma wochenende, kann mir das frühestens dienstag wieder angucken ... dann werden weitere fragen folgen :)

aber thx schonma für deine mühe ...
 
  • fortlaufende nummern ohne auto wert, access Beitrag #6
K

killmachine

Bekanntes Mitglied
Dabei seit
02.02.2003
Beiträge
2.682
Reaktionspunkte
6
was mach ich falsch?
 
  • fortlaufende nummern ohne auto wert, access Beitrag #7
Chrisu

Chrisu

Bekanntes Mitglied
Dabei seit
30.11.1999
Beiträge
1.364
Reaktionspunkte
0
Ort
EnterpriZe Elite
tausche dir Prozedur gegen diese aus:
Code:
Private Sub Befehl4_Click()
On Error GoTo Err_Befehl4_Click
Dim sql As String
sql = "SELECT test.id, test.test FROM test ORDER BY test.test"
Me.RecordSource = sql
Dim i
i = 1
Do
Recordset.edit
Recordset.Fields![test] = i
Recordset.Update
Recordset.MoveNext
i = i + 1
Loop Until Recordset.EOF
Exit_Befehl4_Click:
	Exit Sub
Err_Befehl4_Click:
	MsgBox Err.Description
	Resume Exit_Befehl4_Click
	
End Sub

du hast innerhalb der Schleife zunächst ein MoveNext reingegeben, und dann erst die DS-Modifikationen - richtig ist aber, zunächst die Änderung durchzuführen, und dann den Datensatzmarkierer um eins weiterzudrehen ...

Chrisu
 
  • fortlaufende nummern ohne auto wert, access Beitrag #8
K

killmachine

Bekanntes Mitglied
Dabei seit
02.02.2003
Beiträge
2.682
Reaktionspunkte
6
thx :)
 
Thema:

fortlaufende nummern ohne auto wert, access

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben