Wrox Programmer Forums
Go Back   Wrox Programmer Forums > Visual Basic > VB 6 Visual Basic 6 > Pro VB Databases
|
Pro VB Databases Advanced-level VB coding questions specific to using VB with databases. Beginning-level questions or issues not specific to database use will be redirected to other forums.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Pro VB Databases section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old August 23rd, 2006, 06:03 AM
Registered User
 
Join Date: Aug 2006
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default Run-time error -2147217900 (80040e14)

I have the following SQL 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 execute this SQL query, I get the following Run-time error:

Run-time error '-2147217900 (80040e14)':
Malformed GUID. in query expression
'(tblTimeregistrering_behandlet.Dato>={ts '1990-01-01 00:00:00'} And tblTimeregistrering_behandlet.Dato<={ts '2006-23-08 00:00:00'}) AND (tblTimeregistrering_behandlet.Oppgavenr='"26005"' ) ORDER BY tblAvsnitt.AvsnittsNr'.

Is my expression to long??

Hope you can help me with this.
 
Old August 23rd, 2006, 12:01 PM
Friend of Wrox
 
Join Date: Nov 2004
Posts: 1,621
Thanks: 1
Thanked 3 Times in 3 Posts
Default

Its not an answer to your question, but still is a suggestion. Your statement's readability
could [u]reall</u>y benefit from formatting. It is far too long to fit on a single
screen-width, and breaks lines at unfortunate places:
Code:
selectStr = "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" & VBCrLf & _
            "FROM `F:\Tidsbanken\tidsbank`.tblAvsnitt tblAvsnitt, " & _
            "     `F:\Tidsbanken\tidsbank`.tblOppgaver tblOppgaver, " & _
            "     `F:\Tidsbanken\tidsbank`.tblTimeregistrering_behandlet tblTimeregistrering_behandlet" & VBCrLf & " & _
            "WHERE tblAvsnitt.OppgaveNr  = tblOppgaver.OppgaveNr " & _
            "  AND tblAvsnitt.OppgaveNr  = tblTimeregistrering_behandlet.Oppgavenr " & _
            "  AND tblOppgaver.OppgaveNr = tblTimeregistrering_behandlet.Oppgavenr " & _
            "  AND tblAvsnitt.AvsnittsNr = tblTimeregistrering_behandlet.Avsnitt" & VBCrLf & _
            "GROUP BY tblAvsnitt.OppgaveNr,  tblAvsnitt.AvsnittsNr,   tblAvsnitt.AvsnittNavn, " & _
            "         tblOppgaver.OppgaveNr, tblOppgaver.Oppgavenavn, tblTimeregistrering_behandlet.Dato, " & _
            "         tblTimeregistrering_behandlet.Oppgavenr" & VBCrLf & _
            "HAVING (     tblTimeregistrering_behandlet.Dato >= {ts '" & d1 & " 00:00:00'} " & _
            "         And tblTimeregistrering_behandlet.Dato <= {ts '" & d2 & " 00:00:00'}" & _
            "       ) " & _
            "   AND tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "' " & _
            "ORDER BY tblAvsnitt.AvsnittsNr"

For one, it is a monumentally bad idea to use line-continuation in a way that actually breaks
the beginning from the end of a word. That makes maintaining the code [u]very</u> hard!
Next, dividing the statement at divisions ('SELECT,' 'FROM,' 'WHERE,' et al.) of clauses can be
an aid to analysis.

Next, I'm not 100% sure about this, but I don't think you can have both a WHERE and a HAVING clause
in the same SQL statement. If I were you—just for peace of mind—I would try a really simple SQL
statement that uses both HAVING and WHERE, to see whether they can be used together like you are
trying to do.

Finally, Visual Basic has intrinsic constants VBCR (ASCII 13), VBLF (ASCII 10), VBCRLF (ASCII 13
followed by ASCII 10) and VBTab (ASCII 9). They make your code clearer, becaseu they read like
they function, rather than requiring memorizing what all the different control codes do. But such
characters are "white space," and SQL interpreters ignore them. There is no benefit to adding them,
therefor. So:
Code:
selectStr = "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 `F:\Tidsbanken\tidsbank`.tblAvsnitt tblAvsnitt, " & _
            "     `F:\Tidsbanken\tidsbank`.tblOppgaver tblOppgaver, " & _
            "     `F:\Tidsbanken\tidsbank`.tblTimeregistrering_behandlet 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.Dato >= {ts '" & d1 & " 00:00:00'} " & _
            "         And tblTimeregistrering_behandlet.Dato <= {ts '" & d2 & " 00:00:00'}" & _
            "       ) " & _
            "   AND tblTimeregistrering_behandlet.Oppgavenr='" & pnr & "' " & _
            "ORDER BY tblAvsnitt.AvsnittsNr"
            I seriously doubt that the expression is too long;
SQL interpreters are built to take really complex statements. I don't know if this helps, but it is
what I have.





Similar Threads
Thread Thread Starter Forum Replies Last Post
Insert Query Error & Run-Time Error 3022 DavidWE Access 1 July 31st, 2008 11:17 AM
run-time error(s) Chacko C++ Programming 0 March 4th, 2007 02:28 PM
Insert Error Number "-2147217900" shabirmaher General .NET 0 August 3rd, 2005 05:30 AM
run time error ashishroyk Java GUI 0 October 8th, 2004 01:42 AM
RUN-TIME ERROR compcad Beginning VB 6 2 May 21st, 2004 02:01 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.