Access boodschap wil ik weg.

Status
Niet open voor verdere reacties.

maurann

Gebruiker
Lid geworden
22 jul 2007
Berichten
117
Beste Accessspecialisten,

Heb een vervelende Accesss boodschap die ik telkens als popup over een geopend formulier op het scherm krijg, indien een updateQuery geen gegevens bevat.
Heb daarover 2 vragen.
1. Access heeft foutmelding 3075 tijdens uitvoering;
syntaxisfout (operator ontbreekt) in query-expressie Orderid=.
Hoe kom ik daar vanaf?
2. Zijn er trouwens manieren om wijzigingen aan die Access boodschappen te geven?

Vele Sinterklaasgroeten,

Maurann
 
Heb je al geprobeerd met

DoCmd.SetWarning = False

uw update query

Docmd.SetWarning = true


Groeten Romain
 
Bedankt voor uw reaktie,
uw suggestie deed ik.
Code:
Private Sub Form_Close()

DoCmd.SetWarnings (False)
Dim StrSQL As String
StrSQL = "Update Orders set Totaallijn = '" & Me![TxtSum] & "' where Orderid = " & Me.OrderId
DoCmd.RunSQL StrSQL
DoCmd.SetWarnings (True)

End Sub
Maar helpt niet.
Dus probleem is dat ik een formulier geopend heb en indien ik het weer sluit
zonder gegevens erin op te laden access vermelde fout weergeeft.

Dacht zelf aan iets als
Code:
If Me.Naamvoornaam = "" Or IsNull Then
GoTo End
, om in de vba code voor de string te zetten. (maar dit is zeker niet de juiste syntaxis).

Grtz, Maurann
 
Laatst bewerkt door een moderator:
Maurann,

Foutboodschap wordt veroorzaakt door de SQL opdracht. Waarschijnlijk door het verkeerd gebruiken van velden. Je zou het even kunnen debuggen om te kijken of de variabelen wel de juiste waardes hebben. Of je kunt d.m.v. een debug.print strSQL even kijken hoe de SQL opdracht eruit ziet en deze in een query plakken en herstellen.

de opdrachten docmd.setwarnings true/false zijn alleen handig indien je bepaalde boodschappen zoals "U gaat .. rijen updaten in de tabel" etc. niet wilt weergeven. Dit helpt niet bij echte fouten.
Hoop dat je hier iets aan hebt.

Gr.
Jolanda.
 
Jootje heeft gelijk maurann ,

Ben te snel geweest , niet alles gelezen (updatequery en access bericht)

Komt omdat je de update altijd uitvoerd bij sluiten ook al heb je geen waarde .
probeer onderstaande code eens
Code:
Private Sub Form_Close()
Dim StrSQL As String

  If Not IsNnull(Me.OrderID) Then
     DoCmd.SetWarnings = False
     StrSQL = "UPDATE Orders SET Orders.Totaallijn = '" & Me.TxtSum & "' " &  "WHERE (((Orders.OrdersID)=  " & Me.OrderID & "))"
     DoCmd.RunSQL StrSQL
     DoCmd.SetWarnings = True
  End if 
End Sub

Groeten
Romain
 
Laatst bewerkt:
Post je mdb even en geef aan waar de fout optreedt.
Dat maakt het een stuk eenvoudiger om aan te geven wat je moet doen om de fout op te lossen.
Het lijkt erop dat je SQL statement niet helemaal goed is, maar ja, zonder je database is het moeilijk om dat te controleren.
 
Het probleem zit 'm in de sql regel:
Code:
StrSQL = "Update Orders set Totaallijn = '" & Me![TxtSum] & "' where Orderid = " & Me.OrderId

Als me.orderid de waarde null bevat of een lege string is, gaat het fout.
Je moet er dus even een if/endif omzetten
Code:
if not isnull(me.orderid) and me.orderid <> "" then
  <hier komt je code>
end if

Mocht je om wat voor een reden dan ook de code toch uit moeten voeren, dan kun je het ook zo doen:
Code:
dim strOrderID as string

if isnull(me.orderid) or me.orderid = "" then
  strOrderID = "-1"
else
  strOrderID = me.orderid
end if
<hier komt je code>
 
Laatst bewerkt:
M'n excuses voor de laattijdige reactie, maar 't was even te druk...
Bedankt allen voor de reacties, ik paste de suggesties toe maar
't probleem blijft: bij 't afsluiten van een leeg formulier (in bijgevoegde db
formulier nieuw ticket) blijft access foutmelding 3075 geven.
Kan er daar eens naar gekeken worden in bijgevoegde db.
Ook wil ik dat in form nieuw ticket, bij het gaan naar een nieuw record in dit
formulier, het veld tickettotaal in tbltickets wordt geupdate (dus niet enkel bij het afsluiten van het formulier).
Bartuls,in bijlage een toepassings db.

Txs.
Maurann
Bijkomend vraagje: heeft het converteren van een db met bestandsindeling 2000 naar 2002-2003 gevolgen?
 

Bijlagen

Maurann,

Volgens mij is het probleem heel eenvoudig op te lossen. De code die je hebt staan bij het sluiten van het formulier kun je gewoon verwijderen en dan het totaalveld koppelen aan het totaalveld van de tabel tw Tickettotaal.

Op deze manier wordt het veld altijd geupdated.

:thumb:
Gr.
Jolanda.
 
Kan je effe toelichten?
Hoe breng je deze koppeling tot stand?

In afwachting,

M.
 
In het formulier heb je een veld genaamd txtTicketTotaal (waar de totalen in staan)
bij de eigenschap besturingselementbron kies je voor het databaseveld tickettotaal

:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan