?
Solved

error 3061 expected 1 MS/ACCESS 2013

Posted on 2015-02-06
6
Medium Priority
?
251 Views
Last Modified: 2016-02-11
I am running a query using the following code:

Private Sub Form_Load()
   
       
    Dim coreDB As DAO.Database

    Dim T00_ControlTableSet As DAO.Recordset, _
        Q32_DocumentoSelectSet As DAO.Recordset
       
    Dim Q32_DocumentoSelectDef As QueryDef
   
    Dim strPath As String, _
        strCorename As String, _
        strUserID As String, _
        strUserName As String
   
    Dim DocID As Integer
   
    Set coreDB = CurrentDb
    Set T00_ControlTableSet = coreDB.OpenRecordset("T00_ControlTable", dbOpenDynaset)
   
    DocID = Forms![F91_LoggedUser]![Fld_F91_DocID_Current]
    Me.Fld_F19_BaseDocID = DocID

    strPath = Nz(Forms![F91_LoggedUser]![F91_DestinationPathCurrent], "")
    strCoreID = Format(Forms![F91_LoggedUser]![CoreID], "0000")
    strUserName = Forms![F91_LoggedUser]![Fld_F91_NomeCompletoUtilizador]
    strUserID = Format(Forms![F91_LoggedUser]![CurrentUserID], "0000")
   
    Call LogMe("F19 Documento \ Load ", "CORE :" & strCoreID & "\ User: " & strUserID & "\" & strUserName _
                & " \ DocID: " & Me.Fld_F19_BaseDocID & " \ Path: " & strPath)
   
    strCoreID = Forms![F91_LoggedUser]![CoreID]
               
    ' selecciona o registo correto
    strSetSQL = "SELECT T25_DocsIpeme.T25_BaseDocID AS Q32_DocID, "
    strSetSQL = strSetSQL & "T25_DocsIpeme.T25_Titulo AS Q32_Titulo, "
    strSetSQL = strSetSQL & "T25_DocsIpeme.Sumario AS Q32_Sumario, "
    strSetSQL = strSetSQL & "T25_DocsIpeme.T25_DestinationPathXML  AS Q32_PathXML, "
    strSetSQL = strSetSQL & "T25_DocsIpeme.T25_DestinationPath AS Q32_Path "
    strSetSQL = strSetSQL & "FROM T25_DocsIpeme "
    strSetSQL = strSetSQL & "WHERE (((T25_DocsIpeme.T25_BaseDocID)= " _
                            & Me.Fld_F19_BaseDocID & ")); "
    MsgBox strSetSQL

On Error GoTo ErrorHandle:
    Set Q32_DocumentoSelectDef = coreDB.QueryDefs("Q32_DocumentoSelect")
    Q32_DocumentoSelectDef.SQL = strSetSQL
    Set Q30_DocumentoSelectSet = coreDB.OpenRecordset("Q32_DocumentoSelect", dbOpenDynaset)
    With Q30_DocumentoSelectSet
        Me.Fld_F19_Sumario = .Q32_Sumario
        Me.Fld_F19_Titulo = .Q32_Titulo
        Forms![F91_LoggedUser]![F91_DestinationPathCurrent] = .Q32_Path
        strPath = .Q32_Path
        Call LogMe("F19 Documento \ Document Record ", "CORE :" & strCoreID & "\ User: " & strUserID & "\" & strUserName _
                    & " \ DocID: " & Me.Fld_F19_BaseDocID & " \ Path: " & strPath)
    End With
    Exit Sub



ErrorHandle:
   'Problema no Query (vazio?)
    strError = Err & ": " & Error(Err)
    Call LogMe("F19 Documento \ DblClick \ ERROR \ " & strError & " \ ", "CORE :" & strCoreID & "\ User: " & strUserID & "\" & strUserName _
                & " \ File: " & strPath)
    MsgBox "Problema no acesso ao Documento; Possívelmente não existe em arquivo"
    Resume Next

   
End Sub


the query runs into the 3061 error:

Screen-Shot-2015-02-06-at-15.18.11.png

I have checked the table names and they look alright!

Can anyone help?
0
Comment
Question by:João serras-pereira
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 58

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 2000 total points
ID: 40593566
Statement look OK, so I would check carefully for a mis-spelled field or table name.

One way to check that:

1. Execute your code and get the SQL statement
2. Copy it
3. Open a new query in design view.
4. Switch to SQL view
5. Paste the SQL string.
6. Edit out any extra characters
7. Switch to design view.

 Any fields that don't match up will end up as an expression and if you execute, will prompt for them if it can't figure it out.

Jim.
0
 
LVL 58

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 2000 total points
ID: 40593579
And BTW, if your just doing this in code, you can use a temp query def:

Set Q32_DocumentoSelectDef = coreDB.QueryDefs("")
Q32_DocumentoSelectDef.SQL = strSetSQL
Set Q30_DocumentoSelectSet = Q32_DocumentoSelectDef.OpenRecordset("Q32_DocumentoSelect", dbOpenDynaset)

Jim.
0
 
LVL 51

Expert Comment

by:Gustav Brock
ID: 40593581
I guess this should read:

    Set Q30_DocumentoSelectSet = coreDB.OpenRecordset("Q32_DocumentoSelectDef", dbOpenDynaset)

/gustav
0
10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

 

Author Closing Comment

by:João serras-pereira
ID: 40593753
gee ... THANKS!
GHot the problem; actually it was a name of a column.... btw how do I accede/inspect to the  contents of a string in runtime without using the msgbox?
0
 
LVL 58
ID: 40593862
<<btw how do I accede/inspect to the  contents of a string in runtime without using the msgbox? >>

 Put a break point on the line and then hit F8 to step through it or place a stop right after.  Then you can either:

a. Hover over the variable and get the tool tip

b.  Bring up the debug window (Ctrl/G) and type:

?  <variable>

 so

?  strSQL

 I do it this way so you can see the full thing (don't always get that with a hover).

 ?  is short for Debug.Print

Jim.
0
 

Author Comment

by:João serras-pereira
ID: 40594078
Thanks!
joao
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Suggested Courses

770 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