De record zoeken die overeenkomt met het besturingselement

Status
Niet open voor verdere reacties.

wilfredaccess

Nieuwe gebruiker
Lid geworden
2 apr 2009
Berichten
4
Hallo,

Ik maak sinds kort gebruik van een SQL 2005 server (als backend applicatie) en access 2002 als frontend-applicatie.

Ik heb in SQL-2005 een stored procedure gemaakt die een aantal kolommen selecteert uit een tabel uit de database van SQL. De access frontend heeft dus koppelingen met de SQL-2005 server. Ik maak eigenlijk gebruik van pass-trough query's met stored procedures uit SQL-2005. Nu heb ik het volgende probleem:

Ik maak in access (eigenlijk adp-project) gebruik van een keuzeformulier. De gebruiker kan in het formulier een klant selecteren (middels een combo-box), (basis is dus de pass-trough query) en op het moment als de gebruiker op de combobox klikt zouden de onderliggende besturingselementen in het formulier moeten worden bijgewerkt (after update functie), echter ik krijg dan een error 438 melding vanuit access:
Deze eigenschap of methode wordt niet ondersteund door dit object

Deze functie heeft nog wel prima gewerkt toen de tabellen en de query's nog lokaal in de access-database stonden, dus eigenlijk zonder gebruik te maken van SQL-2005 en de stored procedures. Hierbij trouwens de code waar het om gaat:

Private Sub Keuzelijst_met_invoervak_klantnr_AfterUpdate()
' De record zoeken die overeenkomt met het besturingselement
Dim rs As Object
Set rs = Me.RecordsetClone
rs.Findfirst "[Adresnr] = " & Str(Nz(Me![Keuzelijst met invoervak klantnr], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub


Het gaat mis bij de vetgedrukte regel.

Zou iemand mij hiermee kunnen helpen. Ik kom er gewoonweg niet uit...

Alvast bedankt!

Groetjes

Wilfred
 
Hoi Wilfred,

Ik heb eenzelfde soort vraag een paar weken geleden ook gepost, maar daar kwam niet echt een bruikbaar antwoord op, dus ik ben benieuwd of dat deze keer wel lukt.... Mijn probleem werd veroorzaakt doordat ik op een SQL server tabel een recordsetclone gebruikte op een keuzelijst, een techniek die probleemloos werkt op een Access tabel, maar dus niet op een SQL tabel of View. Mij is toen gebleken, dat ik alleen het eerste record kon bewerken en opslaan, maar de rest niet. Met de bekende foutmelding.

Mijn oplossing was eigenlijk een workaround, maar wel één die werkt, tot ik iets beters heb. Ik maak nu eerst bi openen van de database een kopie van de tabel of view in de accessdatabase, en voer vervolgens alle wijzigingen twee maal door: éénmaal op de lokale tabel, en vervolgens van de lokale tabel naar de SQL server. Het is niet optimaal natuurlijjk, maar je kunt in ieder geval doorwerken...

Op dit moment kan ik je dus nog niet veel verder helpen, maar ik hoop dat je je nu niet meer alleen voelt met je probleem ;-)

Michel
 
Beste Michel,

Bedankt voor je response. Begrijp ik het goed: dat ik een kopie maak van de tabel en deze lokaal opsla in de database van access?

Groetjes

Wilfred
 
Dat is inderdaad zoals ik het nu doe. Ik heb in de AutoExec een tabelmaakquery opgenomen, die dus eerst een dump maakt van de SQL tabel. Het formulier heb ik gebaseerd op de kopie, en niet meer op de SQL tabel. Vervolgens heb ik een procedure gemaakt die alle veranderde gegevens wegzet in de kopie in Access, en vervolgens naar de SQL tabel. Alle tekstvakken en keuzelijsten roepen vervolgens deze procedure aan in het <OnChange> Event.

In de praktijk werkt e.e.a. zelfs nog sneller ook, omdat de gegevensoverdracht sneller is.
Mijn SQL database is overigens niet heel groot, een paar duizend records. Dus het kan best zijn, dat dat bij jou een belemmering kan opleveren.

Ik zoek nog steeds verder in verschillende SQL forums, maar kom dus ook nog geen oplossing tegen voor het probleem. Althans, niks beters dan: geen recordsetclone gebruiken...

Michel
 
Beste Michel,

Dank voor je snelle response. Ik ga je workaround uitproberen en laat je weten hoe dit werkt.

Groetjes

Wilfred
 
Michel,

Ik heb er niet bij stilgestaan. Ik werk met een ADP-file (AccessDatabaseProject), dus ik heb geen mogleijkheid om een tabelmaakquery te maken in access.

Werk je ook met een ADP bestand of werk je nog met een MDB bestand?

Groetjes

Wilfred
 
Wij werken met mdb bestanden; ik zou nu ook niet weten hoe je e.e.a. moet maken met ADP. Ben wel benieuwd...

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan