Automaties hernummeren

Status
Niet open voor verdere reacties.

Hollypro1

Gebruiker
Lid geworden
23 sep 2007
Berichten
75
Access 2002

Hallo Kan iemand mij vertellen hoe ik een veld met volgorde nummers kan hernummeren.
voorbeeld:

10 komkommer
20 sla
30 bananen

nu wil ik er een artikel tussen voegen:

10 komkommer
14 prei
20 sla
30 bananen

Nu wil ik graag met een opdracht knop dat de nummers weer 10 tallen krijgen:

10 komkommer
20 prei
30 sla
40 bananen

Hoop dat ik duidelijk genoeg ben. bvd
 
Ik neem aan dat je probleem is dat het een Autonumber ID betreft?
als dat zo is kan je een nieuwe tabel aanmaken je oude tabel kopieren naar de nieuwe de oude weggooien en de nieuwe renamen.
als dat niet zo is dan kan je een recordset op de tabel openen gesorteerd op nummer en dan ieder record updaten.

Prei Aan!
 
Ik neem aan dat je probleem is dat het een Autonumber ID betreft?
als dat zo is kan je een nieuwe tabel aanmaken je oude tabel kopieren naar de nieuwe de oude weggooien en de nieuwe renamen.
als dat niet zo is dan kan je een recordset op de tabel openen gesorteerd op nummer en dan ieder record updaten.

Prei Aan!

Het gaat niet om een ID
Het is een apparte kolom om de volgorde te bepalen, hoe het op papier komt.
Gesorteerd openen is geen probleem.
Maar als er geen ruimte meer is voor een nieuw nummer, zou het gemakkelijk zijn als
ik de nummer met een tiental kan ophogen.
1, 2, 3, 4, 5 hier kan geen nummer meer tussen
het mooiste zou zijn dat het programma er
10, 20 ,30 ,40 ,50 van kan maken

alvast bedank voor je reaktie

Marcel
 
Ik heb het volgende eens gevonden op het het web , denk dat ge hiermee wel voort kunt.

Mvg,

Vanjan
 
Laatst bewerkt:
Ik heb het volgende eens gevonden op het het web , denk dat ge hiermee wel voort kunt.

Mvg,

Vanjan
Ja, is een mooi altenatief maar het mooiste zou zijn dat hij de nummers hernummerd
bedank voor de reactie

Marcel
 
Pseudo code

Peulenschilletje als je een beetje kan programmeren
Pseudo code:

Code:
intRuimte=10
strProdcode=""
intTeller=0

set rs = openrecordset(select nummer, product from table order by nummer)

do while not rs.eof
   if strProdCode = rs.fields("product") then
      intteller=intteller+intRuimte
   else
      intteller=intRuimte
      strProdCode = rs.fields("product")
   endif
   rs.edit
   rs.fields("nummer") = intteller
   rs.update
loop

Doe er je voordeel mee.
 
Peulenschilletje als je een beetje kan programmeren
Pseudo code:

Code:
intRuimte=10
strProdcode=""
intTeller=0

set rs = openrecordset(select nummer, product from table order by nummer)

do while not rs.eof
   if strProdCode = rs.fields("product") then
      intteller=intteller+intRuimte
   else
      intteller=intRuimte
      strProdCode = rs.fields("product")
   endif
   rs.edit
   rs.fields("nummer") = intteller
   rs.update
loop

Doe er je voordeel mee.

Erg bedankt voor je genomen moeite
Ik kan totaal niet programmeren, ik doe niet anders dan knippen en plakken
Kijken hoe links werken en ze dan aanpassen in mijn programma, sorry maar
Zo maak ik mijn programmatjes

Dit is wat ik nu heb gedaan: IIk heb een formulier geopend en een opdrachknop aangemaakt, en bij gebeurtenissen heb jouw oplossing geplakt, maar snap de link niet goed, zou je me die willen uitleggen? Of werkt dit niet?

Private Sub Omnummeren_Click()

intRuimte = 10
strProdCode = ""
intteller = 0

set rs = openrecordset(select nummer, product from table order by nummer)

Do While Not rs.EOF
If strProdCode = rs.Fields("produkt") Then
intteller = intteller + intRuimte
Else
intteller = intRuimte
strProdCode = rs.Fields("produkt")
End If
rs.edit
rs.Fields("nummer") = intteller
rs.Update
Loop

End Sub


Kun je me uitleggen waar ik wat moet vervangen?
Tabelnaam = “Artikelen”
Veldnaam = “Volgorde”

Alvast bedankt voor je moeite
Groetjes Marcel
 
Private Sub Omnummeren_Click()
dim db as database
dim rs as recordset

intRuimte = 10
strProdCode = ""
intteller = 0
set db = currentdb()
set rs = db.openrecordset("select volgorde, produkt from table artikelen order by produkt, volgorde", dbopendynaset)
rs.movefirst
Do While Not rs.EOF
If strProdCode = rs.Fields("produkt") Then
intteller = intteller + intRuimte
Else
intteller = intRuimte
strProdCode = rs.Fields("produkt")
End If
rs.edit
rs.Fields("volgorde") = intteller
rs.Update
rs.movenext
Loop
set rs = nothing
set db = nothing
End Sub
 
Private Sub Omnummeren_Click()
dim db as database
dim rs as recordset

intRuimte = 10
strProdCode = ""
intteller = 0
set db = currentdb()
set rs = db.openrecordset("select volgorde, produkt from table artikelen order by produkt, volgorde", dbopendynaset)
rs.movefirst
Do While Not rs.EOF
If strProdCode = rs.Fields("produkt") Then
intteller = intteller + intRuimte
Else
intteller = intRuimte
strProdCode = rs.Fields("produkt")
End If
rs.edit
rs.Fields("volgorde") = intteller
rs.Update
rs.movenext
Loop
set rs = nothing
set db = nothing
End Sub

Sorry werkt niet
Zal mijn database meesturen
 
Probeer deze eens.
 

Bijlagen

  • Database omnummeren.zip
    21,4 KB · Weergaven: 50
Dat betekent dat je geen referentie naar de DAO object library hebt.

Kies in menu extra optie Verwijzingen
Zet vervolgens een vinkje bij Microsoft DAO 3.6 Object library (of een lagere versie als je 3.6 niet hebt).
 
Dat betekent dat je geen referentie naar de DAO object library hebt.

Kies in menu extra optie Verwijzingen
Zet vervolgens een vinkje bij Microsoft DAO 3.6 Object library (of een lagere versie als je 3.6 niet hebt).


Top top ben erg blij
Dit ging niet gemakkelijk, hier kom je als leek nooit achter
Is dit te bereiken bij een totale curses van Access
Of zijn hier apparte boeken voor?

Ben erg in mijn sas, nogmaals bedankt
 
Als je een cursus volgt en het wordt niet behandeld dan kan je met je vragen meestal wel bij de lera(a)r(es) terecht.
Ik heb zelf nooit een cursus gevolgd. Wel veel boeken gelezen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan