Toon posts:

[ACCESS 2000] Keuzelijst gelocked

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb in access 2000 een formulier gemaakt met de ontwerpmodus van access en wat vbcode.

Nu heb ik voor de keuzelijst via de ontwerpmodus een query gekoppeld.
Gaat allemaal perfect. Nu ben ik een zoekfunctie aan het maken aan de hand van wat simpel select werk in vb. Maar zodra ik de rowsource van de keuzelijst wil veranderen (select statements ipv. die querykoppeling) gaat het mis. Het object kan gewoon niet aangepast worden door de select queries die ik wil koppelen. Access houdt het object waarschijnlijk gewoon vast. Als ik een keuzelijst maak en er geen query aan koppel via de ontwerpmodus lukt het gewoon wel.

Is er een manier om het object toch nog aan te passen?

ps: verhaal klinkt wazig, maar als je er veel mee gewerkt hebt weet je wel wat ik bedoel ;)

[ Voor 7% gewijzigd door Verwijderd op 03-05-2005 22:47 ]


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
1. Ik werk er veel mee :+
2. Ik heb dit 'probleem' nog nooit gezien
3. kun je eens laten zien wat je precies doet? (code enzo). En wat versta je onder 'gelocked'? Dat je de rowsource niet kunt aanpassen of dat je geen waarde meer kunt selecteren?

Verwijderd

Topicstarter
Hier zie je dat de query eraan is gehangen:

Afbeeldingslocatie: http://sanniejj.gotdns.com/pics/1.jpg

Hier zie je een voorbeeld van een query die ik met vb aan het object wil hangen

Afbeeldingslocatie: http://sanniejj.gotdns.com/pics/2.jpg

Kort samengevat: de vb query kan niet uitgevoerd worden op de keuzelijst omdat er al een query van de access ontwerpmodus aanhangt.

Het lijkt er gewoon op dat ik geen controle meer heb over het object. De rowsource kan gewoon niet aangepast worden :(

[ Voor 6% gewijzigd door Verwijderd op 04-05-2005 00:05 ]


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

OZ-Gump

terug van weggeweest

Als je in code een dergelijke property wil aanpassen moet je volgens mij het formulier openen alsof het in design geopend wordt (dit kan in code) om vervolgens dat formulier te tonen.

Ik meen me ook te herinneren dat wanneer je er initieel geen rowsource in zet, je deze in code wel (altijd) kunt aanpassen. Je zou dus ook je default rowsource op de load aan het object kunnen hangen, en deze veranderen indien nodig.

My personal website


  • Boss
  • Registratie: September 1999
  • Laatst online: 07-05 14:27

Boss

+1 Overgewaardeerd

Die code:
code:
1
Forms!student_vw_kvak.RowSource = "SELECT * FROM DEELNEMER"


doet het natuurlijk niet (denk ik). Je verwijst daarmee naar een formulier, en niet naar een keuzelijst.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Een form heeft geen rowsource ;)
me!student_vw_kvak.Rowsource=[sql] zal het beter doen. :)

edit:
dank je wel, boss :(

[ Voor 18% gewijzigd door Lustucru op 04-05-2005 10:43 ]

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


Verwijderd

Topicstarter
Had even snel een slordig voobeeld getyped :X

Maar het werkt nog steeds niet. Als je zoals bij plaatje 1 (mijn vorige post) een query koppelt kan je de rowsource niet meer veranderen met vbscript blijkbaar.

Is dat een bug of logica ? :)
OZ-Gump schreef op woensdag 04 mei 2005 @ 08:59:
Als je in code een dergelijke property wil aanpassen moet je volgens mij het formulier openen alsof het in design geopend wordt (dit kan in code) om vervolgens dat formulier te tonen.

Ik meen me ook te herinneren dat wanneer je er initieel geen rowsource in zet, je deze in code wel (altijd) kunt aanpassen. Je zou dus ook je default rowsource op de load aan het object kunnen hangen, en deze veranderen indien nodig.
De eerste alinea van deze quote is zeer interessant. Heb jij een voorbeeld van hoe dat in praktijk werkt?

[ Voor 58% gewijzigd door Verwijderd op 04-05-2005 13:23 ]


  • Boss
  • Registratie: September 1999
  • Laatst online: 07-05 14:27

Boss

+1 Overgewaardeerd

Post dan eens je echte code...

Ik ben in 10 jaar Access nog niet tegengekomen dat dit niet zou werken nl.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
OMFG!

Blijkt gewoon het object gaar te zijn (objectnaam in ACCESS en vb komen overeen maar reageren niet op elkaar blijkbaar). Ben dit soort wazigheid nog nooit tegengekomen :/

Bedankt voor de moeite mensen. Ik kan weer verder!

Nog een probleempje met een select query :/

code:
1
2
3
4
student_vw_kvak.RowSource = 
("SELECT * FROM DEELNEMER WHERE (OV_NUMMER = " & txt_tv_vw_ovnum & ") 
OR (KLAS = '" & Me!txt_tv_vw_klas & "') 
OR (NAAM = '" & Me!txt_tv_vw_naam & "')")


Deze code voer ik uit, en het resultaat is dat alleen zoekopdrachten in het veld txt_tv_vw_ovnum worden weergeven. Als ik het veld ov veld dus leeglaat en op andere velden wil zoeken krijg ik gewoon geen output. Als ik de where statement OV_NUMMER = " & txt_tv_vw_ovnum & " uit het statement weghaal, dan kunnen de andere velden wel output geven in de rowsource.

Niet onbelangrijk om te vermelden: OV_NUMMER is primary key is numeriek. De andere velden zijn gewoon tekst zonder speciale waarden.

[ Voor 69% gewijzigd door Verwijderd op 04-05-2005 14:37 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Die buitenste haakjes mogen imho sowieso weg maar dat is het probleem niet. Als je een debug.print zou doen van de resulterende string dan zou je zien: "(WHERE ov_nummer=) OR (klas='foo') OR Naam='foofoo'). EN dat is helemaal niks, iig geen geldige sql.

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


Verwijderd

Topicstarter
Dat zou dan niet verklaren waarom de query wel werkt als ik het OV gedeelte eruit weglaat.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op woensdag 04 mei 2005 @ 15:14:
Dat zou dan niet verklaren waarom de query wel werkt als ik het OV gedeelte eruit weglaat.
lezen sanniejj, goed lezen. ;)
En lees ook eens: tips voor debuggen

Tip: Stop de opgebouwde sql string eens in een query ontwerpraster en kijk eens naar die prachtige foutmelding.

[ Voor 15% gewijzigd door Lustucru op 04-05-2005 15:30 ]

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


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
Verwijderd schreef op woensdag 04 mei 2005 @ 13:45:
Blijkt gewoon het object gaar te zijn (objectnaam in ACCESS en vb komen overeen maar reageren niet op elkaar blijkbaar). Ben dit soort wazigheid nog nooit tegengekomen
Ter info: dit kan voorkomen als je object (keuzelijst) dezelfde naam heeft als een veld uit de recordsource van het form. Access weet dan niet echt of je naar het veld of naar de control verwijst :)
Pagina: 1