[Bug 5754] New: oleaut32: MS Dao 3.5 fails to evalutate "SELECT
<CurrencyField> - <Currencyield> FROM ..." sql
Wine Bugs
wine-bugs at winehq.org
Tue Jul 25 04:57:27 CDT 2006
http://bugs.winehq.org/show_bug.cgi?id=5754
Summary: oleaut32: MS Dao 3.5 fails to evalutate "SELECT
<CurrencyField> - <Currencyield> FROM ..." sql
Product: Wine
Version: 0.9.17.
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-ole
AssignedTo: wine-bugs at winehq.org
ReportedBy: paolo.salvan at xvision.it
Using DAO 3.5 (the engine for MS Access 97 databases) and Wine 0.9.17
I've got a trouble:
when I launch a query that does a subtraction between two currency field
(ie: "SELECT InvoiceTotal - Taxes AS Revenue FROM ...."
the query fails, lamenting some incorrect types...
The console log says:
----
fixme:variant:VarSub can't expand vt 6 vs 6 to a target type.
----
Replacing the builtin OLEAUT32.DLL with the native DLL everything works
ok.
The attached minimal project reproduce the problem; before starting it, install
standard Dao 3.5 setup from MS or install
http://download.danea.it/demo/def2006demo09b.exe (that is my SW, it install a
minimal Dao3.5)
BTW, this is the minimal bit of Delphi code to reproduce the problem:
procedure TForm1.Button2Click(Sender: TObject);
var
daodbeng: DAODBEngine;
daodb: DAODatabase;
daors: DAORecordset;
iType: integer;
begin
try
daodbeng:= OpDAO35.CreateEngine;
daodb:= daodbeng.OpenDatabase(ChangeFileExt(Application.ExeName,
'.mdb'), false, false, '');
// Note: TotDoc and TotNetto are CURRENCY fields
daors:= daodb.OpenRecordset('SELECT TotDoc - TotNetto AS Iva FROM
TDocTestate', dbOpenDynaset, _, _);
// Under windows, it shows "5", under Wine "0"
// log: fixme:variant:VarSub can't expand vt 6 vs 6 to a target type.
iType:= daors.Fields[0]._Type;
if iType = 5 then
showmessage('OK')
else
showmessage('Wrong type: ' + inttostr(iType));
daors.Free;
daodb.Free;
daodbeng.Free;
except
on e: Exception do
ShowMessage('Exception: ' + e.ClassName + '; Msg: ' + e.Message);
end;
end;
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list