[Access] Data uit tabel in een textbox laten zien

Pagina: 1
Acties:

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 21-05 16:34

Maasluip

Kabbelend watertje

Topicstarter
Ik wil in Access (2002) data uit een tabel in een textbox (in een form) laten zien. Die data wordt door een user gewijzigd en weer opgeslagen. Alleen het selekteren en laten zien van de bestaande data lukt me niet.

Als ik een textbox definieer en dan in de Control Source property een tabel of query uitkies die de data teruglevert (is maar één waarde), dan krijg ik bij runtime #Name? in het veld te staan. In Control Source staat dan heel netjes =[query]![veld] of =[tabel]![veld].

Het lukt me wel om een listbox met daaraan een query te maken, die geeft wel heel netjes de waarde terug, maar die is niet updateable, dus ik dacht dan in de Form_Activate de waarde van de listbox aan de textbox toe te kennen, maar dan blijkt die listbox nog niet gevuld te zijn (lstBox.value is dan Null) en ik kan zo geen event vinden (ook niet in die van de listbox) waar dat wel lukt.

Ik heb gezocht met google, maar daar zie je door de bomen het bos niet meer met Access dingen. Alleen de heel standaard problemen zijn daar makkelijk te vinden.

Signatures zijn voor boomers.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Drie keer gelezen maar het is me nog niet echt helder. Je wilt een soort combobox functionaliteit maar dan als listbox?
Kijk eens naar de events
form_OnCurrent, en before en afterupdate van je controls.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Maasluip
  • Registratie: April 2002
  • Laatst online: 21-05 16:34

Maasluip

Kabbelend watertje

Topicstarter
Nee, ik wil een dataveld uit een tabel in een textbox laten zien (dus maar één waarde, de tabel heeft ook maar één kolom en één record). De gebruiker heeft de mogelijkheid dat te veranderen en weer op te slaan.
Veranderen en opslaan is geen probleem, het lukt mij alleen niet om de data in de textbox te zetten.

Signatures zijn voor boomers.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Dan snap ik het nog niet. Waarom kun je dat ene gegeven niet opnemen in de recordbron van je formuliert. Kun je een voorbeeld geven?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Maasluip
  • Registratie: April 2002
  • Laatst online: 21-05 16:34

Maasluip

Kabbelend watertje

Topicstarter
De tabel heet BCR_dateSelection, het veld heet BCR_startDate. Er staat dus een regel in:

BCR_startDate
01-01-2003

Ik heb in de properties van de textbox bij Control Source (via de Expresson Builder) '=[BCR_dateSelection]![BCR_startDate]' gezet.
Als ik het form nu start dan staat er #Name? in de textbox. Ook als ik een query maak die de data selekteert en die in Control Source zet krijg ik dat resultaat.

Wat ik ook geprobeerd heb is een listbox, met daarin in Row Source de selectie "SELECT format(Sum(BCR_dateSelection.BCR_startDate), "dd-mm-yyyy") FROM BCR_dateSelection;"
Dat zorgt er heel fijn voor dat de datum in die listbox staat, maar dat kan ik niet veranderen (locked staat op No). Ik probeer de inhoud van de listbox in de textbox te zetten (in Form_Activate heb ik txtStartDate.Text = lstStartDate.Value gezet) maar op het moment van de Form_Activate is lstStartDate nog niet gevuld en geen van de events van de listbox worden aangeroepen als die gevuld wordt.

Signatures zijn voor boomers.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het wordt er niet duidelijker op ;) Waar wordt de gewijzigde waarde opgeslagen?

Anyway,
=[BCR_dateSelection]![BCR_startDate]' werkt nooit. Als jij velden wilt gebruiken van een tabel moet je die tabel opnemen in de recordbron van je form if je maakt gebruik van een ingebouwde functie als dlookup(). Hoe dan ook resulteert een functie als gegevensbron principieel in readonly controls.

"SELECT format(Sum(BCR_dateSelection.BCR_startDate), "dd-mm-yyyy") FROM BCR_dateSelection; --> staan er nu wel of niet meerdere records in die tabel? anders snap ik niets van die sum.

Bedoel je dat je een standaardwaarde wilt instellen?
.defaultvalue=dlookup(arg,arg,arg)
Of doe het met het handje: oncurrent en afterupdate events. Succes.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Maasluip
  • Registratie: April 2002
  • Laatst online: 21-05 16:34

Maasluip

Kabbelend watertje

Topicstarter
Niesje schreef op 09 juli 2004 @ 20:18:
Het wordt er niet duidelijker op ;) Waar wordt de gewijzigde waarde opgeslagen?
Terug op dezelfde plaats (eerst wordt de data die er staat gewist en dan wordt de nieuwe data erin gezet
"SELECT format(Sum(BCR_dateSelection.BCR_startDate), "dd-mm-yyyy") FROM BCR_dateSelection; --> staan er nu wel of niet meerdere records in die tabel? anders snap ik niets van die sum.
Hee, ik zie die sum nu ook voor het eerst. Ik neem aan dat de Expression Builder die erin gezet heeft om er voor te zorgen dat er maar een waarde uit komt. Die kan weg.
Bedoel je dat je een standaardwaarde wilt instellen?
.defaultvalue=dlookup(arg,arg,arg)
Of doe het met het handje: oncurrent en afterupdate events. Succes.
Het is niet zozeer een standaard waarde als wel een initiele waarde.

Ik zal nog eens proberen met die tips.

Signatures zijn voor boomers.


Verwijderd

Maak gewoon met de Wizzard een Form aan voor die tabel. En klaar! ;)

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 21-05 16:34

Maasluip

Kabbelend watertje

Topicstarter
Verwijderd schreef op 10 juli 2004 @ 11:11:
Maak gewoon met de Wizzard een Form aan voor die tabel. En klaar! ;)
Ja, dat is wel leuk&aardig, maar het vervelende is dat er meer in dat form moet komen. Als ik met de Wizard een form aanmaak dan zie ik dat ding niet in de VB editor, dus daar kan ik niet verder mee werken.

Signatures zijn voor boomers.

Pagina: 1