dbTalk Databases Forums  

Operation must use and updatable query

comp.databases.ms-access comp.databases.ms-access


Discuss Operation must use and updatable query in the comp.databases.ms-access forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
sparks
 
Posts: n/a

Default Operation must use and updatable query - 08-02-2010 , 06:59 AM






I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone" group, does
not have Write permissions on the database file (.mdb). To fix this
problem, use the Security tab in Explorer to adjust the properties for
this file so that the Internet Guest account has the correct
permissions.

A second cause of this error is that the database was not opened with
the correct MODE for writing.


Anyone know what to look for to determine problems on new files that
work fine on old files.

Reply With Quote
  #2  
Old   
sparks
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 08:04 AM






Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are missing and
print the letters with missing exportcode, and it does.
but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com> wrote:

Quote:
I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone" group, does
not have Write permissions on the database file (.mdb). To fix this
problem, use the Security tab in Explorer to adjust the properties for
this file so that the Internet Guest account has the correct
permissions.

A second cause of this error is that the database was not opened with
the correct MODE for writing.


Anyone know what to look for to determine problems on new files that
work fine on old files.

Reply With Quote
  #3  
Old   
Mark Andrews
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 09:06 AM



I know I have seen a few weird things when a query is in the mix of the join
and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote

Quote:

Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are missing and
print the letters with missing exportcode, and it does.
but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com> wrote:

I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone" group, does
not have Write permissions on the database file (.mdb). To fix this
problem, use the Security tab in Explorer to adjust the properties for
this file so that the Internet Guest account has the correct
permissions.

A second cause of this error is that the database was not opened with
the correct MODE for writing.


Anyone know what to look for to determine problems on new files that
work fine on old files.

Reply With Quote
  #4  
Old   
sparks
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 09:27 AM



SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1, Query100.Sys1,
Query100.Dia2, Query100.Sys2, Query100.Dia3, Query100.Sys3,
Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And [sys2]<90) Or
([dia3]<90 And [sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or
[sys1]>=95)) And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile
FROM Query32 RIGHT JOIN Query100 ON Query32.AUTOID = Query100.rowhead
GROUP BY Query32.ChildsID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1, Query100.Sys1,
Query100.Dia2, Query100.Sys2, Query100.Dia3, Query100.Sys3,
Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And [sys2]<90) Or
([dia3]<90 And [sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or
[sys1]>=95)) And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)), Query32.ExportCode,
Query32.ExportFile
HAVING (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95)) And
([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

I did not use any wild cards.

I do not understand why I can do this type of query in other (previous
databases) and all is fine.
I just did this database this month.
I am using a mail merge and updating the exportcode to show that it
has been printed.

I am updating the table tbldemo based on matches listed in the query.
SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

I have done this in the past and don't see what updatable query has to
do with it.

What threw me at first was I thought it said update query
But its updateable query.



On Mon, 2 Aug 2010 10:06:27 -0400, "Mark Andrews"
<mandrews___NOSPAM___ (AT) rptsoftware (DOT) com> wrote:

Quote:
I know I have seen a few weird things when a query is in the mix of the join
and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote in message
news:cbgd56trqc89goef5t92db8cok7h6ld6p7 (AT) 4ax (DOT) com...


Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are missing and
print the letters with missing exportcode, and it does.
but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com> wrote:

I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone" group, does
not have Write permissions on the database file (.mdb). To fix this
problem, use the Security tab in Explorer to adjust the properties for
this file so that the Internet Guest account has the correct
permissions.

A second cause of this error is that the database was not opened with
the correct MODE for writing.


Anyone know what to look for to determine problems on new files that
work fine on old files.

Reply With Quote
  #5  
Old   
Bob Quintal
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 10:07 AM



The query below is most definitely NOT UPDATEABLE.
It contains a Group By Clause. No query with a Group By clause is
updateable.

Bob

sparks <sparks (AT) home (DOT) com> wrote in
news:25ld569u61uh9su5j071al3gi11ovn6t6s (AT) 4ax (DOT) com:

Quote:
SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile FROM Query32 RIGHT JOIN
Query100 ON Query32.AUTOID = Query100.rowhead GROUP BY
Query32.ChildsID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)), Query32.ExportCode,
Query32.ExportFile
HAVING (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

I did not use any wild cards.

I do not understand why I can do this type of query in other
(previous databases) and all is fine.
I just did this database this month.
I am using a mail merge and updating the exportcode to show that
it has been printed.

I am updating the table tbldemo based on matches listed in the
query.
SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

I have done this in the past and don't see what updatable query
has to do with it.

What threw me at first was I thought it said update query
But its updateable query.



On Mon, 2 Aug 2010 10:06:27 -0400, "Mark Andrews"
mandrews___NOSPAM___ (AT) rptsoftware (DOT) com> wrote:

I know I have seen a few weird things when a query is in the mix
of the join and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote in message
news:cbgd56trqc89goef5t92db8cok7h6ld6p7 (AT) 4ax (DOT) com...


Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1,
tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are
missing and print the letters with missing exportcode, and it
does. but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com
wrote:

I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone"
group, does not have Write permissions on the database file
(.mdb). To fix this problem, use the Security tab in Explorer to
adjust the properties for this file so that the Internet Guest
account has the correct permissions.

A second cause of this error is that the database was not opened
with the correct MODE for writing.


Anyone know what to look for to determine problems on new files
that work fine on old files.

Reply With Quote
  #6  
Old   
sparks
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 11:59 AM



I also tried it with this which has no group by

SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1, Query100.Sys1,
Query100.Dia2, Query100.Sys2, Query100.Dia3, Query100.Sys3,
Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And [sys2]<90) Or
([dia3]<90 And [sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or
[sys1]>=95)) And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile
FROM Query32 RIGHT JOIN Query100 ON Query32.AUTOID = Query100.rowhead
WHERE (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95)) And
([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

Same error.

remember this is NOT an update query.

It is saying that it is not updateable.

it is saying I can not set the values in the tables

SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

On Mon, 02 Aug 2010 15:07:19 GMT, Bob Quintal <rquintal (AT) sPAmpatico (DOT) ca>
wrote:

Quote:
The query below is most definitely NOT UPDATEABLE.
It contains a Group By Clause. No query with a Group By clause is
updateable.

Bob

sparks <sparks (AT) home (DOT) com> wrote in
news:25ld569u61uh9su5j071al3gi11ovn6t6s (AT) 4ax (DOT) com:


SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile FROM Query32 RIGHT JOIN
Query100 ON Query32.AUTOID = Query100.rowhead GROUP BY
Query32.ChildsID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)), Query32.ExportCode,
Query32.ExportFile
HAVING (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

I did not use any wild cards.

I do not understand why I can do this type of query in other
(previous databases) and all is fine.
I just did this database this month.
I am using a mail merge and updating the exportcode to show that
it has been printed.

I am updating the table tbldemo based on matches listed in the
query.
SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

I have done this in the past and don't see what updatable query
has to do with it.

What threw me at first was I thought it said update query
But its updateable query.



On Mon, 2 Aug 2010 10:06:27 -0400, "Mark Andrews"
mandrews___NOSPAM___ (AT) rptsoftware (DOT) com> wrote:

I know I have seen a few weird things when a query is in the mix
of the join and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote in message
news:cbgd56trqc89goef5t92db8cok7h6ld6p7 (AT) 4ax (DOT) com...


Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1,
tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are
missing and print the letters with missing exportcode, and it
does. but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com
wrote:

I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone"
group, does not have Write permissions on the database file
(.mdb). To fix this problem, use the Security tab in Explorer to
adjust the properties for this file so that the Internet Guest
account has the correct permissions.

A second cause of this error is that the database was not opened
with the correct MODE for writing.


Anyone know what to look for to determine problems on new files
that work fine on old files.

Reply With Quote
  #7  
Old   
sparks
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 12:25 PM



I even made an update query

UPDATE TblDemo INNER JOIN Qryletter1 ON TblDemo.PersonID=
Qryletter1.PersonID SET TblDemo.ExportCode =
[qryletter1].[exportcode], TblDemo.ExportFile =
[Qryletter1].[exportfile];

this will not run saying that

Operation must use an Updateable query



On Mon, 02 Aug 2010 15:07:19 GMT, Bob Quintal <rquintal (AT) sPAmpatico (DOT) ca>
wrote:

Quote:
The query below is most definitely NOT UPDATEABLE.
It contains a Group By Clause. No query with a Group By clause is
updateable.

Bob

sparks <sparks (AT) home (DOT) com> wrote in
news:25ld569u61uh9su5j071al3gi11ovn6t6s (AT) 4ax (DOT) com:


SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile FROM Query32 RIGHT JOIN
Query100 ON Query32.AUTOID = Query100.rowhead GROUP BY
Query32.ChildsID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)), Query32.ExportCode,
Query32.ExportFile
HAVING (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

I did not use any wild cards.

I do not understand why I can do this type of query in other
(previous databases) and all is fine.
I just did this database this month.
I am using a mail merge and updating the exportcode to show that
it has been printed.

I am updating the table tbldemo based on matches listed in the
query.
SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

I have done this in the past and don't see what updatable query
has to do with it.

What threw me at first was I thought it said update query
But its updateable query.



On Mon, 2 Aug 2010 10:06:27 -0400, "Mark Andrews"
mandrews___NOSPAM___ (AT) rptsoftware (DOT) com> wrote:

I know I have seen a few weird things when a query is in the mix
of the join and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote in message
news:cbgd56trqc89goef5t92db8cok7h6ld6p7 (AT) 4ax (DOT) com...


Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1,
tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are
missing and print the letters with missing exportcode, and it
does. but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com
wrote:

I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone"
group, does not have Write permissions on the database file
(.mdb). To fix this problem, use the Security tab in Explorer to
adjust the properties for this file so that the Internet Guest
account has the correct permissions.

A second cause of this error is that the database was not opened
with the correct MODE for writing.


Anyone know what to look for to determine problems on new files
that work fine on old files.

Reply With Quote
  #8  
Old   
Salad
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 03:14 PM



sparks wrote:

Quote:
I even made an update query

UPDATE TblDemo INNER JOIN Qryletter1 ON TblDemo.PersonID=
Qryletter1.PersonID SET TblDemo.ExportCode =
[qryletter1].[exportcode], TblDemo.ExportFile =
[Qryletter1].[exportfile];

this will not run saying that

Operation must use an Updateable query
What is QryLetter1? If it uses a Group By, you are out of luck.

You could update via a recordset. You could make values returned from
QryLetter1 into a table and append from the table.

If you read Bob's reply and did not understand it you are going down a
road that will fail.


Quote:


On Mon, 02 Aug 2010 15:07:19 GMT, Bob Quintal <rquintal (AT) sPAmpatico (DOT) ca
wrote:


The query below is most definitely NOT UPDATEABLE.
It contains a Group By Clause. No query with a Group By clause is
updateable.

Bob

sparks <sparks (AT) home (DOT) com> wrote in
news:25ld569u61uh9su5j071al3gi11ovn6t6s (AT) 4ax (DOT) com:


SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile FROM Query32 RIGHT JOIN
Query100 ON Query32.AUTOID = Query100.rowhead GROUP BY
Query32.ChildsID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)), Query32.ExportCode,
Query32.ExportFile
HAVING (((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

I did not use any wild cards.

I do not understand why I can do this type of query in other
(previous databases) and all is fine.
I just did this database this month.
I am using a mail merge and updating the exportcode to show that
it has been printed.

I am updating the table tbldemo based on matches listed in the
query.
SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

I have done this in the past and don't see what updatable query
has to do with it.

What threw me at first was I thought it said update query
But its updateable query.



On Mon, 2 Aug 2010 10:06:27 -0400, "Mark Andrews"
mandrews___NOSPAM___ (AT) rptsoftware (DOT) com> wrote:


I know I have seen a few weird things when a query is in the mix
of the join and it uses a .* to show all fields.

Otherwise I'm sure other could help more if you supply the sql for
qryletter1

Mark

"sparks" <sparks (AT) home (DOT) com> wrote in message
news:cbgd56trqc89goef5t92db8cok7h6ld6p7 (AT) 4ax (DOT) com...


Call MergeAllWord(Letterstring, "qryletter1", "Normal",
strDir:=DirToPath("word\", False))

this is the query

DoCmd.RunSQL ("UPDATE qryletter1" & " INNER JOIN
tbldemo ON qryletter1" & ".PersonID = tbldemo.PersonID" & _
" SET tbldemo.ExportCode = 1,
tbldemo.exportfile=""" &
Letterstring & """;")


it is supposed to find the exports in qryletter1 that are
missing and print the letters with missing exportcode, and it
does. but when it hits this command to update tbldemo I get

Operation Must use and Updateable Query



On Mon, 02 Aug 2010 06:59:44 -0500, sparks <sparks (AT) home (DOT) com
wrote:


I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone"
group, does not have Write permissions on the database file
(.mdb). To fix this problem, use the Security tab in Explorer to
adjust the properties for this file so that the Internet Guest
account has the correct permissions.

A second cause of this error is that the database was not opened
with the correct MODE for writing.


Anyone know what to look for to determine problems on new files
that work fine on old files.

Reply With Quote
  #9  
Old   
Bob Quintal
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 03:28 PM



sparks <sparks (AT) home (DOT) com> wrote in
news:a6ud56ttleop9b4l57lpovrlna9afiddel (AT) 4ax (DOT) com:

Quote:
I also tried it with this which has no group by

SELECT Query32.PersonID, Query100.rowhead, Query32.FirstName,
Query32.LastName, Query32.ParentName, Query32.ParentAddress,
Query32.School, Query32.MissedVisitmark, Query100.Dia1,
Query100.Sys1, Query100.Dia2, Query100.Sys2, Query100.Dia3,
Query100.Sys3, Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90
And [sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)) AS LETTERS,
Query32.ExportCode, Query32.ExportFile FROM Query32 RIGHT JOIN
Query100 ON Query32.AUTOID = Query100.rowhead WHERE
(((Int(Switch(([Dia1]<90 And [sys1]<90),1,(([Dia2]<90 And
[sys2]<90) Or ([dia3]<90 And
[sys3]<90)),2,[MissedVisitmark]=1,3,(([dia1]>=95 Or [sys1]>=95))
And ([dia2]>=95 Or [sys2]>=95) And ([dia3]>=95 Or
[sys3]>=95),5,(([dia1]>=90 Or [sys1]>=90)) And ([dia2]>=90 Or
[sys2]>=90) Or ([dia3]>=90 Or [sys3]>=90),4)))=1))
ORDER BY Query100.rowhead;

Same error.

remember this is NOT an update query.

It is saying that it is not updateable.

it is saying I can not set the values in the tables

SET tbldemo.ExportCode = 1, tbldemo.exportfile=""" &
Letterstring & """;")

study http://allenbrowne.com/ser-61.html
titled Why is my query read-only?

We've eliminated the first reason. The next six are probably not
aplicable. That leaves seven other possibilities.

Since nobody but you can see your table structure, nor the called
queries, you'll need to work your way through the list item by item.

Good luck.

Reply With Quote
  #10  
Old   
Bob Barrows
 
Posts: n/a

Default Re: Operation must use and updatable query - 08-02-2010 , 03:53 PM



sparks wrote:
Quote:
I am starting to see this in anything new we build.
Everything that is already built is working fine.

Is this some security update on the machines themselves.
Most people are running windows 7 but some are still on XP.



looked on the ms pages

Operation must use and updatable query

The most common reason is that the Internet Guest account
(IUSR_MACHINE), which is by default part of the "Everyone" group, does
not have Write permissions on the database file (.mdb). To fix this
problem, use the Security tab in Explorer to adjust the properties for
this file so that the Internet Guest account has the correct
permissions.
That is incomplete. All users require Modify permissions on the _folder_
containing the mdb file. That is because users need to create, modify
and delete the .ldb file that is used to control multi-user activity.

I'm not saying that is the cause of your problem. Are you using a .mdb
file as the backend for an ASP application? Is that why you cited that
solution? In ASP, identifying the user whose account is being used is
the key. If your site is set to allow Anonymous access, and you have not
set up an account for the IUSR account to impersonate, then the relevant
user account is indeed, the IUSR_Machine account. In addition, the
IWAM_Machine account could also be relevant if you are accessing the
database in application or server start or end events. If you are using
Integrated Security and Anonymous is turned off, then the account of the
user who requested the page is the relevant account.

As others have said, permissions is not the only cause of this error.
Certain queries can not be used for updates. GROUP BY is a prime
example. Read Allen's article as sited by the other Bob :-)
Quote:
study http://allenbrowne.com/ser-61.html
titled Why is my query read-only?
--
HTH,
Bob Barrows

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.