schijffout

  • Onderwerp starter Onderwerp starter csm
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

csm

Gebruiker
Lid geworden
13 dec 2008
Berichten
80
Code:
lmemo = (Forms![Bestellingen]!memo)
    sql = "Update dbo.afname_klant SET memo = '" & lmemo & "' WHERE " & "[volnummer]=" & Me![volnummer]
    DoCmd.RunSQL sql

deze code zorgt voor de update van de tabel maar ik krijg dan een foumelding ( zie afbeelding)schijfout.jpg

wie kan mij helpen

groet CSM
 
Laatst bewerkt door een moderator:
Eerst de gegevens opslaan vanuit je formulier opslaan (evt via VBA).
Pas daarna je code uitvoeren.

Tardis
 
misschien wel dom welke vba zorgt voor opslaan van de gegevens

groet CSM
 
Laatst bewerkt door een moderator:
Zet vóór het update commando:
Code:
If Me.Dirty Then Me.Dirty=False
 
Hallo Octafish

helaas heeft dit niet het gewenste resultaat.

ik zal uitleggen waneer dit zich voor doet.
ik heb een formulier met daarin een subformulier als ik eerst gegevens invoer in het subformulier en daarna pas het memo veld gebruik dan krijg ik de foutmelding.

wanneer ik eerst de memo invoer en daarna pas het subformulier gebruik heb ik geen foumelding.

nou is het zo dat de memo pas aangemaakt wordt aan het einde van de invoer hier wordt namelijk de leverafspraak met de klant in gezet en die vraag wordt pas aan het einde van het gesprek gesteld aan de klant.

help help help !!!
groet CSM
 
Laatst bewerkt door een moderator:
En het memoveld staat op het hoofdformulier? Wat zijn de eigenschappen van het memoveld?
 
Code:
Private Sub memo_AfterUpdate()
 

lmemo = (Forms![Bestellingen]!memo)
    sql = "Update dbo.afname_klant SET memo = '" & lmemo & "' WHERE " & "[volnummer]=" & Me![volnummer]
    DoCmd.RunSQL sql
End Sub

groet CSM
 
Laatst bewerkt door een moderator:
Da's niet helemaal wat ik bedoelde... In de tabel Afname_Klant heb je een veld memo; ik wilde eigenlijk weten wat de veldeigenschappen zijn van dat veld. Ik krijg ook de indruk dat het een SQLserver tabel betreft. Wat ik wil weten, is of het veld Memo een verplicht veld is of niet.
 
Het is inderdaad een SQLserver

de eigenschappen van het veld memo is varchar lengte 1500

dit is geen verplicht veld

groet csm
 
Laatst bewerkt door een moderator:
De foutmelding die je krijgt heb ik ook wel eens gehad bij het muteren van een tabel op een SQLserver. Heb je toevallig ook Ja/Nee veldjes die je bijwerkt?
 
Nee er is wel een veld met waarde ( 5 rijen ) wat bijgewerkt wordt maar dat is het eerste veld waar de gebruiker een selectie moet maken maar hierop krijg ik geen foutmelding.

verder worden er in het subformulier artikelen ingevoerd ook dit gaat goed de foutmelding treed pas op als er gegevens in het memo veld gezet zijn.

groet CSM
 
Laatst bewerkt door een moderator:
En heb je het probleem bij het bijwerken van alle records, of kun je het eerste record wel opslaan?
 
hallo

Nee het opslaan van de records geeft geen probleem zolang we het memo veld maar niet gebruiken.

het doet zich alleen maar voor waneer we tekst in het memo veld zetten daarna wordt het formulier gesloten want dan is de order afgewerkt.

groet CSM
 
Laatst bewerkt door een moderator:
Een ander probleem kan nog zijn dat de veldinstellingen niet helemaal kloppen; in Access heeft een memoveld andere eigenschappen dan in je SQL database. Je hebt een vaste lengte ingesteld die niet overeenkomt met de veldlengte (65.535 tekens) in Access.
 
Dus als ik jou goed begrijp moet ik gaan kijken op de sql server af de veldlengte daar ook op 65.535 ataat ingsteld

groet CSM
 
Laatst bewerkt door een moderator:
Je kunt eigenlijk alleen goed updaten als de veldtypes overeenkomen tussen Access en SQLserver. Ik had zelf ooit problemen met een Ja/Nee veld; het probleem was eigenlijk hetzelfde als jouw probleem. Bij mij bleek dat opgelost nadat ik de eigenschappen van het Ja/Nee veld had veranderd in een Numeriek veld. Vandaar mijn eerdere opmerkingen. Dus daar zou ik zeker naar kijken. Ik ben zelf geen DBA, al doe ik wel het e.e.a. met SQL server, maar ik ben daar jammer genoeg ook geen specialist in.
 
de veldlengte in de tabel staat op 1500 varchar

groet CSM
 
Dat had je inderdaad al aangegeven; als het veld zelf een Tekstveld is, dan heb je daar vemoedelijk je probleem.
 
Ik heb even gegoogled, en een memoveld kun je inderdaad vertalen naar een VarChar veld, dus daar ligt vermoedelijk het probleem niet. Je zou nog eens kunnen controleren of er niet meer tekst in je memoveld staat dan in je SQL tabel mag, gezien de beperkte veldlengte.
 
Kan het zo zijn doordat bij het sluiten van het formulier een andere sql regel deze foutmelding geeft dus als bv twee regels tegelijk uitgevoerd worden.

groet csm
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan