Announcement

Collapse
No announcement yet.

Malformed GUID. in query expression

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Malformed GUID. in query expression



    I have the following expression:
    Code:
    selectStr = "SELECT tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, Sum(tblTimeregistrering_behandlet.Ma_Tim" & _
                            "er) AS 'Summer av Ma_Timer', tblTimeregistrering_behandlet.Oppgavenr" & Chr(13) & "" & Chr(10) & "FROM `F:\Tidsbanken\tidsbank`.tblAvsnitt tblAvsnitt, `F:\Tidsbanken\tidsbank`.tblOppgaver tblOppgaver, `F:\Tidsbanken\tidsbank`.tb" & _
                            "lTimeregistrering_behandlet tblTimeregistrering_behandlet" & Chr(13) & "" & Chr(10) & "WHERE tblAvsnitt.OppgaveNr = tblOppgaver.OppgaveNr AND tblAvsnitt.OppgaveNr = tblTimeregistrering_behandlet.Oppgavenr AND tblOppgaver.Oppgave" & _
                            "Nr = tblTimeregistrering_behandlet.Oppgavenr AND tblAvsnitt.AvsnittsNr = tblTimeregistrering_behandlet.Avsnitt" & Chr(13) & "" & Chr(10) & "GROUP BY tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgave" & _
                            "r.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, tblTimeregistrering_behandlet.Oppgavenr" & Chr(13) & "" & Chr(10) & "HAVING (tblTimeregistrering_behandlet.Dato>={ts '" & d1 & " 00:00:00'} And tblTimereg" & _
                            "istrering_behandlet.Dato<={ts '" & d2 & " 00:00:00'}) AND (tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "')" & _
                            "ORDER BY tblAvsnitt.AvsnittsNr"
    When I use this expression in the following code:

    Code:
    Set rst = .Execute(stSQL)
    I get Run-time error '-2147217900 (80040e14)':
    Malformed GUID. in query expression
    '(tblTimeregistrering_behandlet.Dato>={ts '2006-08-22 00:00:00'}
    And tblTimeregistrering_behandlet.Dato<={ts '1990-01-01 00:00:00'})
    And (tblTimeregistrering_behandlet.Oppgavenr='26005')'.


    Is my query to long??

  • #2
    Re: Malformed GUID. in query expression

    I think I have found the reaseon for the code not to work. If I remove the queries concerning dates, the code works.

    So it should be something about the date format.
    Have been reading on the forum and have tried to change the format, but with no luck so far.

    I'm used to work with MSAccess, and the date format was "YYYY-MM-DD 00.00.00".
    Is it the same with ADODB?

    Kim..

    Comment


    • #3
      Re: Malformed GUID. in query expression

      It must have something to do with the date format (date query).

      The following works:

      Code:
      stSQL = "SELECT tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, Sum(tblTimeregistrering_behandlet.Ma_Timer) AS 'Summer av Ma_Timer', tblTimeregistrering_behandlet.Oppgavenr " & _
                             "FROM tblAvsnitt, tblOppgaver, tblTimeregistrering_behandlet " & _
                             "WHERE tblAvsnitt.Oppgavenr = tblOppgaver.Oppgavenr And tblAvsnitt.Oppgavenr = tblTimeregistrering_behandlet.Oppgavenr And tblOppgaver.Oppgavenr = tblTimeregistrering_behandlet.Oppgavenr And tblAvsnitt.AvsnittsNr = tblTimeregistrering_behandlet.Avsnitt " & _
                             "GROUP BY tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, tblTimeregistrering_behandlet.Oppgavenr " & _
                             "HAVING (tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "') " & _
                             "ORDER BY tblAvsnitt.AvsnittsNr"
      But if I try with:

      Code:
      stSQL = "SELECT tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, Sum(tblTimeregistrering_behandlet.Ma_Timer) AS 'Summer av Ma_Timer', tblTimeregistrering_behandlet.Oppgavenr " & _
                             "FROM tblAvsnitt, tblOppgaver, tblTimeregistrering_behandlet " & _
                             "WHERE tblAvsnitt.Oppgavenr = tblOppgaver.Oppgavenr And tblAvsnitt.Oppgavenr = tblTimeregistrering_behandlet.Oppgavenr And tblOppgaver.Oppgavenr = tblTimeregistrering_behandlet.Oppgavenr And tblAvsnitt.AvsnittsNr = tblTimeregistrering_behandlet.Avsnitt " & _
                             "GROUP BY tblAvsnitt.OppgaveNr, tblAvsnitt.AvsnittsNr, tblAvsnitt.AvsnittNavn, tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, tblTimeregistrering_behandlet.Oppgavenr " & _
                             "HAVING (tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "') " & _
                             "AND tblTimeregistrering_behandlet.Dato>={ts '1990-01-01 00:00:00'} " & _
                             "ORDER BY tblAvsnitt.AvsnittsNr"
      I get the same Run-time error:
      Run-time error '-2147217900 (80040e14)
      Malformed GUID. in query expression
      '(tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "') AND tblTimeregistrering_behandlet.Dato>={ts '1990-01-01 00:00:00'}'.

      Comment


      • #4
        Re: Malformed GUID. in query expression

        Hope somebody can give some hints. I have tried for several hours, but still with no luck.

        There must be something about the following date format:

        Code:
        "AND tblTimeregistrering_behandlet.Dato>={ts '1990-01-01 00:00:00'}
        Looking forward to any comments..

        Kim..

        Comment


        • #5
          Re: Malformed GUID. in query expression

          Hi Kim, thanks for the note, I had missed this one...

          OK, firstly, the error message "Malformed GUID. in query expression" relates tothe fact that {...} indicates to VB that that is a GUID - Globally Unique ID, which, given the error, clearly it is NOT. Trouble is that MSQuery uses this code when you input dates in to SQL query but what you should really do with dates is to find a "native" version of the date that works in the target database.

          instead of this

          AND tblTimeregistrering_behandlet.Dato>={ts '1990-01-01 00:00:00'}
          try this (if it's MS Access)

          AND tblTimeregistrering_behandlet.Dato >= #01/01/1990#
          Kind Regards, Will Riley

          LinkedIn: Will Riley

          Comment


          • #6
            Re: Malformed GUID. in query expression

            Yes!! Thanks Will

            Comment


            • #7


              Re: Malformed GUID. in query expression

              I had to use this date format:

              #yyyy/mm/dd#

              But then it worked perfectly!

              Thanks again Will!

              Comment

              Working...
              X