Вставка внешнего ключа. Excel VBA и MS Access 2003 - PullRequest
0 голосов
/ 14 сентября 2010

У меня есть две таблицы: Отдел (Dept_ID, Dept_Name). и таблица Employee (Empl_ID, Empl_Name, Salary, Dept_ID). Идентификаторы являются авто номерами. Dept_ID в таблице Employee - это внешний ключ, ссылающийся на Dept_ID в Table Department. Теперь я хочу вставить запись в таблицу Employee с помощью Excel VBA, которая подключена к базе данных Access 2003, где находятся мои таблицы. Как я могу получить правильное значение Dept_ID и вставить его в таблицу Employee, если пользователь будет отправлять только Dept_Name, принадлежащее предоставленному сотруднику? Я использую простой запрос на добавление:

insert into table Employee (Empl_Name,Salary,Dept_ID)
values (Parameter_Empl_Name, Parameter_Salary, Parameter_Dept_ID)

У меня есть все значения, кроме значения Parameter_Dept_ID, которое ссылается на внешний ключ Dept_ID. Я не знаю, как создать правильный Dept_ID и вставить его в таблицу Employee, если я знаю Dept_Name для этого идентификатора. Проблема ясна? Пожалуйста, помогите,

1 Ответ

0 голосов
/ 14 сентября 2010

Я бы предположил, что лучше всего было бы сначала посмотреть идентификатор отдела, это должно позволить вам проверить его наличие и запросить пользователя, если его нет, поэтому что-то в строках:

Set rs=CreateObject("ADODB.Recordset")

sSQL="SELECT DeptID FROM Depts WHERE DeptName='" & <Cell with Dept Name> & "'"

rs.Open sSQL, <connection>

DeptID=rs!DeptID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...