Toon posts:

[VBA+Access] vergelijking

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Ik ben al met de search bezig geweest, maar ik kon niet echt een resultaat vinden dat ik zocht. Het volgende probleeem,

Ik heb bijvoorbeeld adres gegevens van een persoon. Wanneer ik een postcode invoer die nog niet bestaat in ( en dat is een andere tabel dan de persoonsgegevens) de straatdeeltabel moet hij de melding weer geven dat
"deze nog niet bestaat en dat ik die moet aanmaken."

Maar bestaat hij wel in de tabel straatdeelgegevens dan moet hij de melding geven
"hij bestaat u kunt door gaan."

Tot dus ver heb ik dit, maar dat werkt niet, ik krijg telkens de melding dat de postcode nog niet bestaat terwijl dit wel het geval is:

code:
1
2
3
4
5
6
7
8
9
Private Sub Postcode1_AfterUpdate()

If Postcode1.Value <> "tblStraatdeel.postcode.value" Then

 MsgBox ("Dit adres staat nog niet in de tabel straatdeel. Voer dit adres in s.v.p.!")

 DoCmd.OpenForm "FrmStraatdeel_FINAL"

End If

alvast bedankt
End Sub

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-08 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Wat er fout gaat, is wel te zien.. Hoe het zou moeten: geen idee.. :(

Stel postcode1.value =1234AA
De vergelijking is dan"
code:
1
Als 1234AA is ongelijk aan de tekst "tblStraatdeel.postcode.value" dan

Het gedeelte wordt opgevat als string en niet als 'verwijzing'.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
je kijkt nu alleen in het huidig record. En dat is dus maar ééntje.

Je moet iets doen in de trend van.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Dim Dbs as database
Dim Rst as recordset

Set dbs = currentdb
Set rst = dbs.openrecordset("SELECT * FROM Persoonsgegevens WHERE Postcode =" & Postcode1.value

If rst.eof Then
  msgbox "Hij bestaat nog niet"
 Else
  msgbox "Hij bestaat"
End If

Verwijderd

Topicstarter
uhm ja bijna, maar de persoongegevens zijn op het moment van het invoeren nog niet opgeslagen in de tabel dus die kan hij nog niet vergelijken. Hij moet het dus vergelijken met
de tabel straatdeel, nou had ik het zo gedaan\
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Postcode1_AfterUpdate()
Dim Dbs As Database
Dim Rst As recordset

Set Dbs = CurrentDb
Set Rst = dbs.openrecordset("SELECT * FROM tblStraatdeel WHERE Postcode =" & Postcode1.value

If Rst.EOF Then
  MsgBox "Hij bestaat nog niet voeg toe aub"
   DoCmd.OpenForm "FrmStraatdeel_FINAL"
 Else
  MsgBox "Hij bestaat"
End If



 
End If
End Sub


maar ik krijg een syntaxis fout..iemand nog idee, ben er bijna

ps. hoe krijg je een overzicht met regelnummers ervoor? ik ken wel [code] ?

[ Voor 15% gewijzigd door Verwijderd op 17-12-2002 22:03 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-08 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Ik mis een
)
bijde set rst

edit:

[code=vb][/code]

[ Voor 48% gewijzigd door gorgi_19 op 17-12-2002 22:01 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
klopt, kwam er net ook achter. er was ook een end if teveel...maar ook dat is nog niet de oplossing, krijg nu de melding
dat er een operator opbreekt in de expressie van hierboven?

[ Voor 10% gewijzigd door Verwijderd op 17-12-2002 22:03 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-08 16:14

gorgi_19

Kruimeltjes zijn weer op :9

[gokmodus]
Visual Basic:
1
Set Rst = dbs.openrecordset("SELECT * FROM tblStraatdeel WHERE Postcode ='" & Postcode1.value & "'")

[/gokmodus]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
HEY!! Dat is het..haha thanks..ik was ook al bezig met haakjes, maar ja gok altijd de verkeerde haha he bedankt he! mzzl

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
^^^^^

En je moet je laatste 'End If' weghalen.

Verwijderd

Topicstarter
uhm ik was nog ff aan het kloten he, maar stel nu heb ik die postcode die nog niet bekend is in die andere tabel, en ik wil, als hij het formulier opent waarin ik het kan invoeren, dat de onbekende postcode gelijk in het nieuwe formulier komt, hoe doe ik dat dan?

of als hij wel bestaat, hij gelijk naar de goede postcode gaat in die tabel...en dat laat zien..

[ Voor 16% gewijzigd door Verwijderd op 17-12-2002 22:35 ]


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
die zou je in je openargs mee kunnen geven met het openen van dat formulier

Verwijderd

Topicstarter
oke..dat heb ik nog nooit gedaan, kun je misschien een voorbeeldje geven?

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
docmd.openform("FoRM",,,,,,"POSTCODE")

Moet je ff nakijken hoeveel komma,s

en dan in je andere formulier ff kijken naar me.openargs

Verwijderd

Topicstarter
oke, en waar staan die komma's voor als ik mag vragen.?

Verwijderd

Topicstarter
aargh ik word gek, help me aub nog even

ik wil dus het volgende:

Ik heb een postcode ingevoerd, deze checkt hij keurig of ie bestaat of niet. Zo niet dan kan ik dus in het nieuw geopend formulier een nieuwe postcode en straat invullen. Maar nu wil ik dus wanneer ik op form1 een postcode invul dat hij deze meeneemt als ie niet bestaat en deze invult in een nieuwe recrod op form2. Hoe doe ik dat? ik zit al een tijdje te puzzelen met die code die je me gaf maar dat lukt niet. hij geeft die gegevens niet door

voor de duidelijkheid, op form1

staat net nieuw ingevoerde postcode naam-> postcode1

op form 2
staat een leeg record waar postcode1 in moet komen, naam-> postcode

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Remco292:
Binnen dit subforum van GoT wordt verwacht dat je zelf moeite doet om een probleem op te lossen. Dat zie ik niet bij je terug in dit topic.
Zo vraag je er gelijk op los bij elke tip die men geeft in dit topic. Zo kom je wel aan je informatie, maar anderen zitten _jouw_ werk te doen, waardoor je dus geen donder leert.

Dus trek die MSDN/API doc's uit de kast, pluis een tip uit tot je in de puntjes snapt wat er gebeurd en probeer het te implementeren.
Gaat het dan fout, dan kan je het altijd weer vragen hier :)
Succes

Verwijderd

Topicstarter
ja best, ik ga niet weer die discussie voeren...
Pagina: 1