Замена "/" -> "-" в SqlDb.AddItem правильно, но недостаточно.
Дело в том, что локальные ODBC-драйверы (Jet и FoxPro) воспринимают только американский формат "MM-DD-YYYY".
Проще всего использовать "ODBC escape sequences" {d’2006-09-05’}
## Код:
```
ELSIF (mod = "Dates") & (typ = "Date") THEN
  item.GetVal(dv, ok); ASSERT(ok, 101);
  IF (dv.value.year = 0) & (dv.value.month = 0) & (dv.value.day = 0) THEN
    AddStr(nullStr, FALSE, 4, s)
  ELSE
   IF ~native THEN AddStr("{d'", TRUE, 3, s) END;
   Strings.IntToString(dv.value.year, h);
   AddStr(h, FALSE, 8, s); AddChar("-", s);
   Strings.IntToStringForm(dv.value.month, Strings.decimal, 2, "0", FALSE, h);
   AddStr(h, FALSE, 4, s); AddChar("-", s);
   Strings.IntToStringForm(dv.value.day, Strings.decimal, 2, "0", FALSE, h);
   AddStr(h, FALSE, 4, s);
   IF ~native THEN AddStr("'}", TRUE, 2, s)  END
  END
```


Правда, это только для ODBC, но других драйверов все равно нет.