quote:ik zou maar wat meer gaan zoeken en lezen en vooral de SQL taal leren want het kan wel met een SQL Query.
Op woensdag 9 april 2003 11:33 schreef marc1982 het volgende:
nee dat bedoel ik niet, want ik wil op de eerste (paar) letter(s) van een achternaam ofzo kunnen zoeken, en dat kan niet met een query omdat je dan geen gedeeltelijke invoer hebt. of je maakt de keuze al in het maken van de query of je hebt de gehele invoer nodig.
of kan dit wel?
zoekt alle records waarvan de inhoud van het veld 'tekstveld' begint met 'Thum'
Voor Access zal er ook wel zoiets zijn...
quote:
Op woensdag 9 april 2003 11:33 schreef marc1982 het volgende:
nee dat bedoel ik niet, want ik wil op de eerste (paar) letter(s) van een achternaam ofzo kunnen zoeken, en dat kan niet met een query omdat je dan geen gedeeltelijke invoer hebt. of je maakt de keuze al in het maken van de query of je hebt de gehele invoer nodig.
of kan dit wel?
code:Zoiets zou ongeveer wel moeten werken. Je kan zo zoeken op waarden die beginnen met de waarde die je in het zoekveld hebt ingevuld.select naam
from <tabelnaam>
where naam like "<zoekveldwaarde>%"
quote:dit snap ik wel, dit werkt ook wel.
Op woensdag 9 april 2003 11:47 schreef thumper het volgende:
In Oracle SQL met het LIKE statement, en een % als joker.
Dus
SELECT * FROM tabel WHERE tekstveld LIKE 'Thum%'zoekt alle records waarvan de inhoud van het veld 'tekstveld' begint met 'Thum'
Voor Access zal er ook wel zoiets zijn...
quote:en wat houd die zoekveldwaarde dan in, wat is dat? hoe moet ik dat zien dan?
Op woensdag 9 april 2003 11:47 schreef WheeleE het volgende:[..]
code:Zoiets zou ongeveer wel moeten werken. Je kan zo zoeken op waarden die beginnen met de waarde die je in het zoekveld hebt ingevuld.select naam
from <tabelnaam>
where naam like "<zoekveldwaarde>%"
quote:De door de gebruiker ingevoerde waarde komt dus na het LIKE statement, iets als:
Op woensdag 9 april 2003 11:51 schreef marc1982 het volgende:[..]
dit snap ik wel, dit werkt ook wel.
alleen wil ik invoer als gebruiker hebben en dus niet telkens m'n query moeten aanpassen
[..]en wat houd die zoekveldwaarde dan in, wat is dat? hoe moet ik dat zien dan?
quote:Ga eerst maar 'es een basiscursus VB volgen...
Op woensdag 9 april 2003 12:01 schreef marc1982 het volgende:
ik denk inderdaad dat dit wel moet werken
de invoer van de gebruiker word dus gezet in een variable?
hoe maak ik deze variable aan?
hoe gebruik ik deze?
en hoe moet deze gelinkt worden?
quote:Ik ben niet zo bekend met Acces. Je zou even moeten uitzoeken hoe je de waarde van een tekstveld in een variabele kunt krijgen. die variabele kun je dan gebruiken: LIKE "<variabelenaam>%"
Op woensdag 9 april 2003 11:51 schreef marc1982 het volgende:[..]
dit snap ik wel, dit werkt ook wel.
alleen wil ik invoer als gebruiker hebben en dus niet telkens m'n query moeten aanpassen
[..]en wat houd die zoekveldwaarde dan in, wat is dat? hoe moet ik dat zien dan?
quote:Hmmm, leer eerst maar wat VB dan... :| In de Help zal vast wel wat staan...
Op woensdag 9 april 2003 12:01 schreef marc1982 het volgende:
ik denk inderdaad dat dit wel moet werken
de invoer van de gebruiker word dus gezet in een variable?
hoe maak ik deze variable aan?
hoe gebruik ik deze?
en hoe moet deze gelinkt worden?
code:dim jouwquery as string, zoekwoord as string 'vraag zoekwoord aan gebruiker
jouwquery = "SELECT ..... WHERE ..... = " & zoekwoord & "ORDER BY ....;" (of zoiets)
dim db as database, rst as recordset
set db = currentdb
set rst = db.openrecordset(jouwquery)'nu kun je met alles wat je in rst vindt op tientallen manieren zoekresultaten outpoepen
rst.close
set db = nothing
quote:ik zal wel heel dom overkomen, maar runtime???
Op woensdag 9 april 2003 12:14 schreef CreativeMind het volgende:
Je stelt in runtime de query samen, dus op zo'n manier:code:dim jouwquery as string, zoekwoord as string 'vraag zoekwoord aan gebruiker
jouwquery = "SELECT ..... WHERE ..... = " & zoekwoord & "ORDER BY ....;" (of zoiets)
dim db as database, rst as recordset
set db = currentdb
set rst = db.openrecordset(jouwquery)'nu kun je met alles wat je in rst vindt op tientallen manieren zoekresultaten outpoepen
rst.close
set db = nothing
quote:Dat gaat dus niet. Je kunt niet vanuit VBA een variabele meegeven aan een query. Je kunt wel in die query gegevens uit een tekstboxje op een formulier halen. Dan vul je gewoon bij Criteria in de query het volgende in:
Op woensdag 9 april 2003 12:06 schreef marc1982 het volgende:
SELECT klanten.Aanhef, klanten.Achternaam, klanten.Bedrijfsnaam, klanten.Adres, klanten.Postcode, klanten.Woonplaats, klanten.Contactpersoon, klanten.[Telefoon nummer], klanten.[06 nr], klanten.[Fax nr], klanten.[Naam schip], klanten.[Ligplaats schip], klanten.[Email adres], klanten.Referentie, klanten.Datum, klanten.Prijzen, klanten.Extra
FROM klanten
WHERE (klanten.Achternaam)like [achternaam=];
ik heb nu dit?
kunnen jullie hier iets mee?
is er niemand bekend met het declaren van een variable, zodat ik deze bij de invoer kan gebruiken?
Maar je kunt het beste de query helemaal binnen VBA houden, zie daarvoor mijn post hierboven.
quote:nogmaals.
Op woensdag 9 april 2003 12:17 schreef marc1982 het volgende:[..]
ik zal wel heel dom overkomen, maar runtime???
wat bedoel je hier mee?
waar moet ik deze code nou inzetten?
in sql of in een module ofzo?
doe eerst eens wat basis VB dingen voordat je aan de slag gaat met VB->sql/access
quote:Als ik je openingspost lees begrijp ik dat je met Visual basic een zoekdingetje wil maken. Dus ja, deze code moet je achter een commandbutton zetten, he.
Op woensdag 9 april 2003 12:17 schreef marc1982 het volgende:[..]
ik zal wel heel dom overkomen, maar runtime???
wat bedoel je hier mee?
waar moet ik deze code nou inzetten?
in sql of in een module ofzo?
code:Dat wordt denk ik 't moeilijkste voor jou'nu kun je met alles wat je in rst vindt op tientallen manieren zoekresultaten outpoepen
quote:Met dank aan jou, Sop, want jij hebt mij een tijd terug een eind op gang geholpen met Access/VBA
Op woensdag 9 april 2003 13:10 schreef sop het volgende:[..]
quote:Echt waar? Sorry.
Op woensdag 9 april 2003 13:13 schreef CreativeMind het volgende:[..]
Met dank aan jou, Sop, want jij hebt mij een tijd terug een eind op gang geholpen met Access/VBA
Private Sub Knop_Zoeken_Click()
Dim mijnsql As String, MijnCriteria As String, mijnrecordbron As String
Dim AantalArg As Integer
Dim Tdl As Variant
Dim ContactStr As String
Dim I As Integer
AantalArg = 0
MijnCriteria = ""
WaaraanToevoegen [Achternaam], "Klanten.Achternaam", MijnCriteria, AantalArg
WaaraanToevoegen [postcode], "Klanten.postcode", MijnCriteria, AantalArg
WaaraanToevoegen [Telefoon], "Klanten.bedrijfsnaam", MijnCriteria, AantalArg
If MijnCriteria = "" Then
MijnCriteria = "True"
End If
mijnsql = "SELECT * FROM Klanten WHERE "
mijnrecordbron = mijnsql & MijnCriteria & " ORDER BY Klanten.Achternaam"
Debug.Print mijnrecordbron
Me![klantenzoeken_sub].Form.RecordSource = mijnrecordbron
If Me![klantenzoeken_sub].Form.RecordsetClone.RecordCount = 0 Then
MsgBox "Er zijn geen klanten gevonden, voer de gegevens van de nieuwe klant in.", 48, "Geen klant gevonden."
Else
Me![klantenzoeken_sub].SetFocus
End If
End Sub
Private Sub WaaraanToevoegen(veldwaarde As Variant, VeldNaam As String, MijnCriteria As String, AantalArg As Integer)
If veldwaarde <> "" Then
' "And" toevoegen als er een ander criterium is.
If AantalArg > 0 Then
MijnCriteria = MijnCriteria & " And "
End If
' Het criterium toevoegen aan de bestaande criteria.
' VeldWaarde en sterretje tussen aanhalingstekens plaatsen.
MijnCriteria = (MijnCriteria & VeldNaam & " Like " & Chr(39) & Chr(42) & veldwaarde & Chr(42) & Chr(39))
' Aantal argumenten verhogen.
AantalArg = AantalArg + 1
End If
End Sub
[Dit bericht is gewijzigd door marc1982 op 09-04-2003 16:19]
quote:Hoever is jouw bieb?
Op woensdag 9 april 2003 16:07 schreef marc1982 het volgende:
moet je de hele code hebben?
mail me op marciemarc1982@hotmail.com
dan mail ik de code wel
quote:hoe bedoel je?
Op woensdag 9 april 2003 16:27 schreef Roonaan het volgende:[..]
Hoever is jouw bieb?
quote:Wat denk je?
Op woensdag 9 april 2003 16:40 schreef marc1982 het volgende:[..]
hoe bedoel je?
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |