Solved

Runtime Error 3188

Posted on 2004-10-05
7
259 Views
Last Modified: 2009-07-13
I have a form based on a query which displays data relating to a work log, one of the fields is a comments memo field.
The user can add comments using another unbound form that updates the comments field via an SQL statement.
Every time I run the SQL I get the runtime error 3188. Any Ideas ?

I have just noticed that if my form is not filtered in any way the sql statement works fine, problem only happens when a value is entered (log no) in a filter field on the form, the after update event requery's the query to display only the records that satify the log number.

0
Comment
Question by:Duggie
  • 3
  • 2
7 Comments
 
LVL 6

Expert Comment

by:snavebelac
ID: 12226224
Could you post the code used to generate your sql stetament or the sql statement itself.

C
0
 

Author Comment

by:Duggie
ID: 12226406
sql = "UPDATE ticket_tbl SET ticket_tbl.comments = """ & comments & """ WHERE ticket_tbl.ticketid = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
0
 
LVL 6

Expert Comment

by:snavebelac
ID: 12226597
Try this . ..

DoCmd.RunSQL "UPDATE ticket_tbl SET ticket_tbl.comments = '" & comments & "' WHERE ticket_tbl.ticketid = " & Forms![comments_frm]![text4]

C
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 

Author Comment

by:Duggie
ID: 12226771
Generates a syntax error 3075, the comments variable can be a very long string that is generated from a txt file using
Set objstream = objFSO.opentextfile("c:\temp\comments.txt")
comments = objstream.Readall
thats the reason I used the """ quotes to force it to read as a string.
I know the sql statement works I just can't suss out why it thinks the table is locked.
The query the form is based on looks at 4 tables request_tbl, ticket_tbl, stage_tbl & priority_tbl resulting in a query called veiwreq_qry.
The code updates 3 different fields in 2 different tables.
sql = "UPDATE request_tbl SET request_tbl.amended=#" & Now() & "# where request_tbl.ticket_no = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
sql = "UPDATE ticket_tbl SET ticket_tbl.comments = """ & comments & """ WHERE ticket_tbl.ticketid = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
sql = "UPDATE ticket_tbl SET ticket_tbl.datemodified=#" & Now() & "# where ticket_tbl.ticketid = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
But only breaks down on the 2nd SQL query, ie the update to the request_tbl.amended field works fine.
relationship between request_tbl and ticket_tbl is one to many.

0
 

Author Comment

by:Duggie
ID: 12227027
Think I have solved it code now reads as follows

Forms![viewreq_frm].RecordSource = ""
sql = "UPDATE ticket_tbl SET ticket_tbl.comments = """ & comments & """ WHERE ticket_tbl.ticketid = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
sql = "UPDATE ticket_tbl SET ticket_tbl.datemodified=#" & Now() & "# where ticket_tbl.ticketid = Forms![comments_frm]![text4]"
DoCmd.RunSQL sql
Forms![viewreq_frm].RecordSource = "request_qry"

Removed the recordsource from the form, updated the ticket_tbl.comments box and than replaced the recordsource on the table, sure there will be a better way but this seems to work.

But thanks for your efforts C

Regards
Duggie

0
 

Accepted Solution

by:
ee_ai_construct earned 0 total points
ID: 12267792
Question answered by asker or dialog valuable.
Closed, 125 points refunded.
ee_ai_construct (replacement part #xm34)
Community Support Admin
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question