[VBA/Access] Text uit een textveld halen

Pagina: 1
Acties:
  • 432 views sinds 30-01-2008
  • Reageer

  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
Ik zit met een probleem en wel het volgende,

Zal 't verduidelijken met een simpel voorbeeld.. Op een formulier heb ik een tekstveld staan. Dit tekstveld wil ik met VB aanroepen om de tekst die in dit tekstveld geplaats wordt te gebruiken voor een query.

Hoe ik een query maak dat heb ik inmiddels al uitgevonden. Maar krijg alleen niet de tekst in het tekstveld..

hopelijk kunnen jullie me helpen?

Ben hier al een tijdje zoet meej..

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Als je tekstveld bijvoorbeeld txtTestVeld heet, dan kun je de waarde daarvan als volgt in (bijvoorbeeld ;)) een string zetten:
 
Visual Basic:
1
2
Dim strTest as string
strTest = txtTestVeld
Klaar! Dit is natuurlijk wel een beetje extreem basic-kennis. :/

My personal website


  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
Zover was ik al.. :-)

Maar er staat dus een tekstveld op een form.. En deze waarde die ingevult wordt in het tekstveld wil ik uitlezen met behulp van Visual Basic.

Alleen weet ik niet hoe ik een tekstveld op een Form van Access moet aanroepen..

[ Voor 3% gewijzigd door Shadowzon op 16-12-2003 13:19 ]


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Ben je nou bezig met een VB-app die een extern Access-formulier moet benaderen? Of ben je bezig met VBA code in je Access formulier? :?

Het laatste is natuurlijk het makkelijkst, je kan bv in de Exit (Bij verlaten) procedure van een teksveld wat code stoppen.
Visual Basic:
1
2
3
4
5
6
Private Sub Tekst0_Exit(Cancel As Integer)
    Dim strTemp As String
    
    strTemp = Tekst0.Text
    MsgBox strTemp
End Sub

Het eerste is lastiger, zo niet onmogelijk, maar in ieder geval niet handig. :Y)
Je kan dan beter vanuit je VB app een database-connectie maken en een query uitvoeren, ipv via een access formulier te werken.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
Ben bezig met een VBA code in een Access formulier...

Bedankt voor je hulp :-)

Zal 't eventjes proberen..

  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
Maar is het niet mogelijk om de Tekst0.Text vanuit een form niet direct aan een string variable toe te kennen. Zonder hiervoor een aparte functie toe te voegen?

Verwijderd

Shadowzon schreef op 16 december 2003 @ 13:47:
Maar is het niet mogelijk om de Tekst0.Text vanuit een form niet direct aan een string variable toe te kennen. Zonder hiervoor een aparte functie toe te voegen?
"WHERE naam = " & Forms!formuliernaam!tekst0 & ""

zoiets bedoel je ?

  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
Dat lijkt er idd op! :-)

Maar ik zou 't toch liever eerst aan een variabele willen toekennen.. Om vervolgens in de query te gebruiken...

  • Shadowzon
  • Registratie: Januari 2001
  • Laatst online: 27-05 17:04
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function GetSelect()

Dim Test1box As String, 

Test1box = Form_Form1.Test1

DoCmd.SetWarnings False
             
             
DoCmd.RunSQL "SELECT Test1box1 INTO TestTable FROM Table1;"

 
DoCmd.SetWarnings True


End Function


Dit is wat ik tot nu toe heb.. Als ik een MsgBox plaats met Testbox1 dan laat hij mij de waarde zien.

Alleen binnen de Query kent hij vervolgens die waarde niet.. :-(

Hopelijk weten jullie wat hier verkeerd aan is?

  • ripperke
  • Registratie: Augustus 2003
  • Laatst online: 15-10-2025

ripperke

w00t!

DoCmd.RunSQL "SELECT " & Test1box1 & " INTO TestTable FROM Table1;"

If TCP/IP handshaking was less formal, perhaps SYN/ACK would be YO/WASSUP


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Visual Basic:
1
DoCmd.RunSQL "SELECT Test1box1 INTO TestTable FROM Table1;"

Dat is natuurlijk een query die op geen enkele database gaat werken. :X
Even een paar voorbeeldjes dan maar van hoe het wel moet:

Om records op te halen:
SQL:
1
SELECT klantid, naam, adres FROM klant WHERE (klantid=4);

Om records in te voegen:
SQL:
1
INSERT INTO klant (naam, adres) VALUES ("Saddam", "Gatindegrondpad 1");

Om een bestaande record te wijzigen:
SQL:
1
UPDATE klant SET adres = "De Bak 3" WHERE (naam="Saddam");


Succes ;)

edit:
[bloos]
Ik was weer iets te snel met mijn kritiek, een SELECT INTO is wel een geldige query. :X [/bloos]

[ Voor 15% gewijzigd door zwippie op 17-12-2003 12:43 ]

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.

Pagina: 1