Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Vraag over een database  (gelezen 2171 keer)

0 leden en 1 gast bekijken dit topic.

Offline Jannie

  • Lid
  • *
  • Berichten: 48
  • Oplossing.be
Vraag over een database
« Gepost op: 31 oktober 2004, 20:40:34 »
Hallo,

Wij hebben een database met adresgegevens enz.
Met in kolom A een persoonsnummer.

De gegevens worden ingevoerd met een zelfgemaakt formulier, waarin de gegevens worden ingevoerd en weggeschreven in de database.

Hoe kunnen wij voorkomen dat er dubbele persoonsnummers worden ingevoerd.

De persoonsnummers zijn onwillekeurig maar wel identiek.

Dit nummer kan niet automatische worden opgehoogd + 1 want bestaande nummers moeten ook gebruikt kunnen worden.

In afwachting,

Bea en Jannie
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.183
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re:Vraag over een database
« Reactie #1 Gepost op: 31 oktober 2004, 22:12:18 »
Hallo Jeannie & Bea,

Wat bedoel je met "persoonsnummer".

Citaat
De persoonsnummers zijn onwillekeurig maar wel identiek.
..... onwillekeurig maar wel identiek.... leg je dat even uit aan de hand van een voorbeeld-lijstje ::)

In macro bestaat er een functie "If exist"-"than"-"else" en daar kan je dan een boodschap en een "terug naar af" aan toevoegen. Dan moet je wel een macro kunnen schrijven.

SoftAid
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Jannie

  • Lid
  • *
  • Berichten: 48
  • Oplossing.be
Re:Vraag over een database
« Reactie #2 Gepost op: 02 november 2004, 07:39:38 »
Hallo,

Persoonsnummer is gewoon een debiteurennummer of een lidnummer enz.
Namen gaan op alfabet dus de nummers staan doorelkaar heen.

bv
102
085
002
023
105
enz.

Maar 105 mag maar 1 keer voorkomen.
Als iemand nog een keer 105 in wil voeren moet dit niet mogelijk zijn.

Wie kan zo'n macro voor mij schrijven?

Groeten Jannie
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Vraag over een database
« Reactie #3 Gepost op: 02 november 2004, 14:09:31 »
Jannie en Bea,

De volgende code zal eerst nakijken of een bepaald persoonsnummer al voorkomt in de bestaande kolom. De code maakt gebruik van de ingebouwde Excel functie CountIf (in ' t Nederlands iets als Tellen.Als of zo).

Private Sub cmdToevoegen_Click()
' Ga ervan uit dat de persoonsnummers in kolom A op sheet1 staan
Set DoelKolom = Sheet1.Columns("A")
' Tel het aantal keer dat het nieuw nummer (in de tekstbox) al bestaat in deze kolom
If Application.WorksheetFunction.CountIf(DoelKolom, "=" & Me.tbNieuwNummer) > 0 Then
    ' Nummer bestaat al
    MsgBox "Dit nummer bestaat al!"
    Me.tbNieuwNummer.SetFocus
    Me.tbNieuwNummer.Text = ""
Else
    ' Nummer bestaat niet, voeg het toe...
    VolgendeRij = DoelKolom.Cells(65000, 1).End(xlUp).Row + 1
    DoelKolom.Cells(VolgendeRij, 1) = Me.tbNieuwNummer
    Me.tbNieuwNummer = ""
End If
' Verwijder object uit geheugen
Set DoelKolom = Nothing
End Sub

Dit werkt alleszins. Als het nog niet duidelijk is, stuur mij een mail, dan ik jullie een voorbeeld workbook sturen.

Succes,
Barthold
WinXP - Excel 2000/XP/2003

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Vraag over een database
« Reactie #4 Gepost op: 02 november 2004, 14:11:09 »
Oops, gelukkig is mijn VBA'as beter dan mijn Nederlands. Laatste zin moet natuurlijk zijn "... dan zal ik jullie...".
Barthold
WinXP - Excel 2000/XP/2003

 


www.combell.com