Итак, у меня есть запрос, который должен получить данные из двух таблиц.Который работает нормально, пока формат даты находится под английской (нас) локалью.Когда он находится в международном форматировании, запрос получает ошибку при запуске и завершается неудачно.запрос имеет вид
SELECT DISTINCT AlarmDet.Machine, AlarmDet.Job,
AlarmDet.Mode, AlarmDet.User, AlarmDet.JobStart,
AlarmDet.Object, AlarmDet.AlarmId, AlarmDet.AlarmStart,
AlarmDet.MachineFault, AlarmDet.OperFault,
AlarmDet.PiecesFed, Val(OperFault)+Val(MachineFault) AS AlarmStopTime,
(Mid(alarmdet.AlarmStart,5,7) & Right(alarmdet.AlarmStart,4) & Mid(alarmdet.AlarmStart,11,9)) AS AlarmTimeDate,
Mid(alarmdet.AlarmStart,12,2) AS AlarmHH,
Mid(alarmdet.AlarmStart,15,2) AS AlarmMM,
Mid(alarmdet.AlarmStart,18,2) AS AlarmSS,
CVDate((Mid([alarmdet].[AlarmStart],5,7) & Right([alarmdet].[AlarmStart],4))) AS AlarmDate, Alarms.ALARM_DESC
FROM AlarmDet INNER JOIN Alarms ON AlarmDet.AlarmId = Alarms.id;
Формулы в запросе принимают значение alarmstart (date) и разбивают его на отдельные сегменты.
Раздел запроса, вызывающий ошибкукогда я вхожу в него и пытаюсь запустить его, вот что:
CVDate((Mid([alarmdet].[AlarmStart],5,7) & Right([alarmdet].[AlarmStart],4))) AS AlarmDate
Что я хотел бы знать, так это то, есть ли способ доступа для преобразования форматирования запроса, который будет передан в США.dateformating?Или есть лучший способ структурировать эту часть запроса, чтобы он работал в международном формате?
Обновление
, потратив некоторое время и попытавшисьнекоторые из ваших предложений, я пришел с этим:
format(Mid([alarmdet].[AlarmStart],5,7) & right([alarmdet]![alarmstart], 4), "mm/dd/yyyy")
Однако, вместо того, чтобы получить мм / дд / гггг, я получаю это: мм-дд-гггг.
ЛюбойМысли о том, почему это так?
Обновление: снова ...
Не имеет значения, похоже, что это имеет отношение к тому, где установлена ваша локаль.
Любые предложения или помощь с благодарностью.
Спасибо.