Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can someone tell me why this query does not work?
Message
From
10/12/2013 11:51:03
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Can someone tell me why this query does not work?
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01589692
Message ID:
01589692
Views:
89
Hi all.

I have beat my head on the keyboard for long enough. Here is the query (angle brackets have been replaced by square brackets for readability here)
TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 15
    SELECT DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) AS start_time, 
	DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) + ((VAL(GETWORDNUM(VEH.duration, 1, ':')) * 3600) + (VAL(GETWORDNUM(VEH.duration, 2, ':')) * 60)) AS end_time, 
	ST.descr AS SvcType_dsc, SVC.servref 
    FROM funeral!ServiceVehicle VEH WITH (BUFFERING = .T.) 
	JOIN aserdet SVC WITH (BUFFERING = .T.) ON VEH.service_id = SVC.serviceid 
	JOIN psvctype ST ON SVC.servtype = ST.code 
	WHERE VEH.VehCode =  '[[tcVehCode]]'  
		AND VEH.SvcVehID # [[tiSvcVehID]]  
		AND DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) < {[[ttEndTime]]} 
		AND DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) + ((VAL(GETWORDNUM(VEH.duration, 1, ':')) * 3600) + (VAL(GETWORDNUM(VEH.duration, 2, ':')) * 60)) > {[[ttStartTime]]}
ENDTEXT 
It hands me back Function argument value, type, or count is invalid.

Now the goofy thing is that this one works:
TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 15
    SELECT DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) AS start_time, 
	DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) + ((VAL(GETWORDNUM(VEH.duration, 1, ':')) * 3600) + (VAL(GETWORDNUM(VEH.duration, 2, ':')) * 60)) AS end_time, 
	ST.descr AS SvcType_dsc, SVC.servref 
    FROM funeral!ServiceVehicle VEH WITH (BUFFERING = .T.) 
	JOIN aserdet SVC WITH (BUFFERING = .T.) ON VEH.service_id = SVC.serviceid 
	JOIN psvctype ST ON SVC.servtype = ST.code 
	WHERE VEH.VehCode =  '[[tcVehCode]]'  
		AND VEH.SvcVehID # [[tiSvcVehID]] 
		AND DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) < {[[ttEndTime]]} 
ENDTEXT 
and this one works:
TEXT TO lcSQL TEXTMERGE NOSHOW PRETEXT 15
    SELECT DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) AS start_time, 
	DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) + ((VAL(GETWORDNUM(VEH.duration, 1, ':')) * 3600) + (VAL(GETWORDNUM(VEH.duration, 2, ':')) * 60)) AS end_time, 
	ST.descr AS SvcType_dsc, SVC.servref 
    FROM funeral!ServiceVehicle VEH WITH (BUFFERING = .T.) 
	JOIN aserdet SVC WITH (BUFFERING = .T.) ON VEH.service_id = SVC.serviceid 
	JOIN psvctype ST ON SVC.servtype = ST.code 
	WHERE VEH.VehCode =  '[[tcVehCode]]'  
		AND VEH.SvcVehID # [[tiSvcVehID]] 
		AND DATETIME(YEAR(VEH.EvtDate), MONTH(VEH.EvtDate), DAY(VEH.EvtDate), VAL(GETWORDNUM(VEH.EvtTime, 1, ":")), VAL(GETWORDNUM(VEH.EvtTime, 2, ":"))) + ((VAL(GETWORDNUM(VEH.duration, 1, ':')) * 3600) + (VAL(GETWORDNUM(VEH.duration, 2, ':')) * 60)) > {[[ttStartTime]]}
ENDTEXT 
So why doesn't it work with both the start time and the end time in the where clause?

TIA
Next
Reply
Map
View

Click here to load this message in the networking platform