auto aanvullen

Status
Niet open voor verdere reacties.

jbreen

Gebruiker
Lid geworden
30 okt 2007
Berichten
57
is het mogenlijk om access een tabel tot een bepaald aantal records aan te laaten vullen.
Ik bedoel; om een toernooi te organiseren moet je uitkomen op 2 om een finale tespelen.
Dit houd in dat ik met de getallen 2,4,8,16,32,64.128.256,512 ect te maken heb.
nu kom ik met het aantal inschrijvingen nooit perfect uit.
kan access bv. ik heb 85 inschrijvingen dit moet dus worden aangevuld tot 128.
dus 86 to 128 automatisch worden aangevuld met bv. door naar de volgende ronde.

help me.

bedankt
 
Code:
Public Sub TabelAanvullen(intGetal As Integer)

    Dim intMax As Integer
    
    intMax = 1
    Do While intMax < intGetal
        intMax = intMax * 2
    Loop

    For intX = intGetal To intMax
        CurrentDb.Execute "INSERT INTO Tabel1 (veld1, veld2) VALUES (" & intX & ",'naam')"
    Next intX
    
End Sub
Enjoy!
 
Laatst bewerkt:
Bedankt maar??

Ik ben een beginnende gebruiker van access waar pas ik deze code toe???:confused:
 
Maak een form.
Zet een knop op het form
Rechtsklik op de knop.
Je komt in het code scherm terecht.
je ziet iets van
Code:
Private Sub Command01_Click()
   [COLOR="Red"]TabelAanvullen 15[/COLOR]
end sub
De code die je toevoegt is in het rood.
 
Laatst bewerkt:
Ik heb het geprobeerd maar ik krijg foutmelding dat er een Endsub wordt verwacht.
Na wat spelen met de code krijg ik het niet voor elkaar helaas.

dit staat nu bij mij in de code:

Private Sub Knop22_Click()
Public Sub TabelAanvullen(intGetal As Integer)

Dim intMax As Integer

intMax = 1
Do While intMax < intGetal
intMax = intMax * 2
Loop

For intX = intGetal To intMax
CurrentDb.Execute "INSERT INTO Tabel1 (veld1, veld2) VALUES (" & intX & ",'naam')"
Next intX

End Sub
End Sub


Ook staat er in de code Tabel1 volgens mij moet dat de naam van mij tabel zijn?

help

:cool:
 
Ja.

Code:
Private Sub Knop22_Click()
   TabelAanvullen me.txtInschrijvingen 'ik verwacht in dit veld het aantal inschrijvingen. Kan anders heten bij jou.
End Sub
Public Sub TabelAanvullen(intInschrijvingen As Integer)

  Dim intMax As Integer

  intMax = 1
  Do While intMax < intInschrijvingen
    intMax = intMax * 2
  Loop

  For intX = intGetal To intMax
    CurrentDb.Execute "INSERT INTO Tabel1 (veld1, veld2) VALUES (" & intX & ",'naam')"
  Next intX

End Sub

TabelAanvullen is een subroutine die aangeroepen wordt doordat je klikt op je button.
Als je in de code op de regel "TabelAanvullen me.txtInschrijvingen" een breakpoint (F9) zet dan kan je er met F8 doorheen lopen. Je kan dan zien wat er gebeurt.

Alle veldnamen op het form en in de database moet je nog aanpassen.

Enjoy!
 
sorry

Ik kom er echt niet aan uit.

Ik heb de tabel deelnemers.

NummerID-autonummering
voornaam-tekst
achternaam-tekst
plaats-tekst
leeftijd-ja/nee
club-tekst
e-mail-tekst
telefoonummer-tekst
betaald-ja/nee
voorkeur-ja/nee
datum/tijd-datum/tijd
info-memo

aub help me

jack
 
Je had een probleem. Je wilde het aantal inschrijvingen aanvullen tot een tweevoud. Ik heb je niet gevraagd waarom. Maar jij wilde dat zo. Maar als je het aantal recrods in de tabel deelnemers aan wil vullen tot een tweevoud dat lijkt me erg onlogisch.

Ik ben een beetje kwijt wat je precies wilt.
 
Als je een toernooi organiseerd moet je met de spelers uitkomen op het aantal 2 ( finale)
dat kan allen maar met een aantal getallen 2 4 8 16 32 64 128 256 512 enz, Heb ik bv. 100 inschrijvingen moet ik dit aanvullen tot het aantal 128 anders kom ik niet uit op het aantal van 2.

Voor beeld ik heb 80 inschrijvingen. ik ga spelen na de eerste ronde houd ik 40 over, 2e ronde 20, 3e ronde 10, vierde ronde 5 dan kan ik niet meer verder want ik kom niet meer uit op 2.

ik hoop dat ik nu wat duidelijker ben met wat ik bedoel.

Groetjes Jack
 
Als je de insert statement aanpast naar
Code:
CurrentDb.Execute "INSERT INTO Deelnemers (achternaam) VALUES ('DummyDeelnumer'" & intX & ")"
Dan worden de resterende (dummy)deelnemers aangemaakt.

Wat je ermee gaat doen weet ik niet.

Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan