Фон ...
Итак, я написал SQL запрос (имя запроса = qryEmployeeInfo), который показывает информацию о сотрудниках. Запрос выводит два столбца. Идентификатор сотрудника (имя заголовка = employee_ID) и соответствующий адрес сотрудника (имя заголовка = employee_address).
Форма My Access содержит текстовое поле (имя текстового поля = txtEmployeeID), которое я хочу, чтобы пользователь мог введите идентификатор сотрудника и попросите его вывести соответствующий адрес сотрудника в другое текстовое поле (имя текстового поля = txtEmployeeAddress). Я также хочу, чтобы адрес employee_address был в формате строковой переменной, чтобы я мог выполнять другие проверки VBA позже (например, [if strEmployeeAddress LIKE "California" THEN ... something]).
Итак вот как я подошел к решению этой проблемы:
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select employee_address from qryEmployeeInfo where employee_ID = '" & txtEmployeeID & "'", dbOpenDynaset)
strEmployeeAddress = rs.Fields("employee_address").Value
Это сработало! :) ... вроде
Он нашел правильные данные, соответствующие указанному идентификатору сотрудника, но извлек только часть текста, а остальное было вырезано.
Есть идеи, почему это происходит и как решить эту новую проблему?
Люди просили код SQL, который я использовал ... вот версия с фиктивными полями:
SELECT DISTINCT
EA.employee_ID, EA.employee_address
FROM
(EMPLOYEE_DATA AS EA
INNER JOIN EMPLOYEE_DATA_UNION AS EDU
ON (EA.EMPLOYEE_ID = EDU.EMPLOYEE_ID)
AND (EA.EMPLOYEE_ADDRESS = EDU.EMPLOYEE_ADDRESS))
INNER JOIN EMPLOYEE_DATA_HAMPTON AS EDH
ON (EA.EMPLOYEE_ID = EDH.EMPLOYEE_ID)
AND (EA.EMPLOYEE_ADDRESS = EDH.EMPLOYEE_ADDRESS)
WHERE
EA.ADDRESS_CD IN ('10', ‘12’)
AND EA.SUB_ADDRESS_CD IN ('11', ‘15’)
AND EDU.TASK_CD IN ('144','145','150')
AND EDH.TASK_CD IN ('119','120');
Я получаю несколько правильных результатов по этому запросу в sql помощнике ... но они обрываются, когда я go вхожу в Access по какой-то причине.
Мысли?
Любая помощь, которую вы могли бы оказать, была бы принята с благодарностью.