Waarde van veld uit query halen

Status
Niet open voor verdere reacties.

johanw

Gebruiker
Lid geworden
3 mrt 2003
Berichten
74
Hoe kan ik de waarde van een veld uit een query halen? Dmv vbscript.
 
Sorry. Ik zal het proberen uit te leggen.

Ik heb een veld, bv Veld_1 de waarde daarvan wil ik uit een query halen, bijv:

SELECT Omschrijving from Tabel
WHERE dier = aap

Omschrijving moet dan in Veld_1 komen
 
SELECT veld_1 as Omschrijving from Tabel
WHERE veld_1= "aap"

Als ik je goed begrijp moet dit hem zijn, anders geef een vb.

JJ
 
Jah maar dat kan ik toch zo niet in de vbscript code zetten?

Ik wil bv: Veld1.Value="het.veld.omschrijvin.uit.de.Query.die.ik.als.voorbeeld.gaf"
 
Volgens mij wil je dit:
SELECT "waarde" AS veld_1 FROM Tabel;
 
dim strResult as string
dim strZoekenNaar as string

strZoekenNaar = "aap"

strResult = dFirst("Omschrijving", "Tabel", "dier = '" & strZoekenNaar & "'")

De inhoud van Omschrijving komt nu in de variabele strResult.
 
Geplaatst door Bartuls
dim strResult as string
dim strZoekenNaar as string

strZoekenNaar = "aap"

strResult = dFirst("Omschrijving", "Tabel", "dier = '" & strZoekenNaar & "'")

De inhoud van Omschrijving komt nu in de variabele strResult.

Dit zocht ik, ik ga het proberen.. Bedankt!
 
Private Sub Text34_AfterUpdate(Cancel As Integer)

Dim strResult As String
Dim F_Compaq_PN_1 As String

strResult = DFirst("Omschrijving", "Compaq_PN", "Compaq_PN = '" & F_Compaq_PN_1 & "'")

F_Compaq_PN_1_Omschrijving.Value = strResult

End Sub


Dit heb ik gebruikt, maar het werkt niet, er wordt niks weergegeven in veld Compaq_PN_1_Omschrijving

Ik heb natuurlijk even gecontroleerd of de query wel klopt.

SELECT [Omschrijving]
FROM Compaq_PN
WHERE [Compaq_PN]=138230-B25;

doet het niet, dan vraagt ie om variabele B25

SELECT [Omschrijving]
FROM Compaq_PN
WHERE [Compaq_PN]="138230-B25";

doet het wel, ik krijg de omschrijving.

Zou dit iets uitmaken?
 
Het AfterUpdate commando is niet goed volgens mij, ik wil dat de code uitgevoerd wordt wanneer ik naar een ander record kijk. Ik zie dit niet in de functie lijst staan..
 
Private Sub Text34_AfterUpdate(Cancel As Integer)

Dim strResult As String
Dim F_Compaq_PN_1 As String

strResult = DFirst("Omschrijving", "Compaq_PN", "Compaq_PN = '" & F_Compaq_PN_1 & "'")

F_Compaq_PN_1_Omschrijving.Value = strResult

End Sub


Als je bovenstaande code uitvoerd krijg je inderdaad niets.
Er staat namelijk niets in je variabele F_Compaq_PN_1.
Access probeert de volgende query uit te voeren (via de DFirst functie):
SELECT Omschrijving
FROM Compaq_PN
WHERE Compaq_PN = ''

Je zult dus moeten zorgen dat er iets zinnigs in variabele F_Compaq_PN_1 komt.

Volgens mij kun je in jou geval de code beter uitvoeren onder het OnCurrent event. Uit de Access help:
The Current event occurs when the focus moves to a record, making it the current record, or when the form is refreshed or requeried.
 
F_Compaq_PN_1 heeft wel een waarde ;)

Maar oncurrent lijkt me idd wat ik nodig heb.. Ik zal het proberen.
 
Kom niet helemaal uit de help,

Private Sub OnCurrent()
F_Compaq_PN_1_Omschrijving.Value = F_Compaq_PN_1
End Sub

Dit heb ik even gedaan om de functie te testen, werkt niet, F_Compaq_PN_1_Omschrijving geeft niks weer F_Compaq_PN_1 heeft wel een waarde

Weer een syntax fout?
 
Laatst bewerkt:
F_Compaq_PN_1_Omschrijving.Value = F_Compaq_PN_1

Wat is F_Compaq_PN_1_Omschrijving ? Een veld op een venster? Een onderdeel van een structure?
 
F_Compaq_PN_1_Omschrijving is een gewooon veld, F_Compaq_PN_1 ook
 
Als het een veld in een tabel is moet je een update doen. Daarvoor moet je een SQL statement maken of een recordset gebruiken.
Volgens mij heb je nog een hoop code eromheen staan.
Een statement als F_Compaq_PN_1_Omschrijving.Value = F_Compaq_PN_1 zal inderdaad niet veel doen.

Kun je het volgende aangeven:
- Waar komt het criterium vandaan (de inhoud van F_Compaq_PN_1 dus)?
- Waar moet het resultaat naar toe?

Geef dan aan of het een globale variabel betreft, een veld in een tabel, een veld op een formulier etc.
 
De code werkt wel, heb alleen even hulp nodig met dat OnCurrent, dat is het enige wat niet wil werken op dit moment.
 
Een event gaat of als je iets doet op een venster. Het OnCurrent event gaat af als het current record van een venster wijzigt. Die kun je dus alleen gebruiken als je een formulier gebruikt dat gekoppeld is aan een tabel of query en waarbij je de standaard record selectoren gebruikt voor navigatie.
Als het OnCurrent event afgaat dan wordt de code onder Private Sub OnCurrent() uitgevoerd.
Als de code uitgevoerd wordt en er is geen resultaat moet er toch een fout een je code zitten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan