switch (*bf) { /* checks the DBF magic number */ case 0x03: case 0x83: break; case 0x02: case 0xF8: sprintf (errMsg, "'%s'\ninvalid magic number %02x [FoxBASE format]", path, *bf); goto dbf_bad_magic; case 0xF5: sprintf (errMsg, "'%s'\ninvalid magic number %02x [FoxPro 2.x (or earlier) format]", path, *bf); goto dbf_bad_magic; case 0x30: case 0x31: case 0x32: sprintf (errMsg, "'%s'\ninvalid magic number %02x [Visual FoxPro format]", path, *bf); goto dbf_bad_magic; case 0x43: case 0x63: case 0xBB: case 0xCB: sprintf (errMsg, "'%s'\ninvalid magic number %02x [dBASE IV format]", path, *bf); goto dbf_bad_magic; default: sprintf (errMsg, "'%s'\ninvalid magic number %02x [unknown format]", path, *bf); goto dbf_bad_magic; };
/* something is going the wrong way; creating a stupid default table */ xname = gaiaDoubleQuotedSql ((const char *) argv[2]); sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (PKUID INTEGER)", xname);
\note supported DBF data types are: \li 'C' text string [default] \li 'N' numeric \li 'D' date \li 'L' boolean
SELECT max(Константы.DATE||Константы.TIME) ,Цены.PARENTEXT [Номенклатура $Справочник.Номенклатура] ,Цены.ТипЦен [ТипЦен $Справочник.ТипыЦен] ,Константы.VALUE [Цена $Число] FROM Справочник_Цены AS Цены LEFT JOIN [_1S.Const] AS Константы ON Цены.ID=Константы.OBJID AND Константы.ID=:ИсторияРеквизита.Цены.Цена AND Константы.DATE<=:НачДата WHERE Цены.ТипЦен = :Цена1 OR Цены.ТипЦен = :Цена2 AND Цены.PARENTEXT IN (SELECT val FROM tmpНоменклатура) GROUP by Цены.ТипЦен,Цены.PARENTEXT HAVING Константы.VALUE NOTNULL