2016-11-30 4 views
1

У меня есть элемент управления формой (адрес), который использует Dlookup для вызова информации из таблицы «база данных», но форма привязана к таблице «Tracker». Dlookup основан на другом элементе управления в той же форме - «Name» Мне нужна форма для записи этого элемента управления dlookup вместе с другими элементами управления, которые привязаны к «трекеру» как новая запись в таблицу «tracker».Как записать несвязанный контроль в базу данных

Мое неудачные попытки: Использование свойства по умолчанию для присвоения отобранных данных из dlookup в другое текстовое поле, которое будет привязано к «трекеру». По какой-то причине это просто не работает. Возможно, мне не хватает чего-то, что сообщает этому элементу управления «Адрес» обновляться при выборе правильного «имени?».

Код:

Private Sub SubmitReferral_Click() 
On Error GoTo Err_SubmitReferral_Click 


    DoCmd.GoToRecord , , acNewRec 

Exit_SubmitReferral_Click: 
    Exit Sub 

Err_SubmitReferral_Click: 
    MsgBox Err.Description 
    Resume Exit_SubmitReferral_Click 

End Sub 

Я также попытался это - присвоить данные - но данные из DLookup в управлении «ADDRESS1» не передает/копирования для управления «Адрес2»

Private Sub Combo276_OnUpdate() OnUpdate ([Адрес2] .Value = [Адрес1] .Value)

End Sub

Помощь или предложения?

PS - Я попытался отредактировать запрос, чтобы быть как можно более конкретным, и следовать правильному этике.

+0

Не могли бы вы высказать свой код? – Fluidity

+0

Вам может потребоваться больше, чем просто DLOOKUP. Если я правильно понял, у вас есть форма, привязанная к таблице с именем «tracker»? и когда вы выбираете имя в этой форме, вы хотите, чтобы он искал адрес для этого человека в таблице «база данных» и добавил адрес в таблицу с именем «трекер»? Что должно вызывать добавление данных? Нажмите кнопку? Дважды щелкните элемент управления? Просто нажмите имя (плохая идея)? –

+0

@Fluidity Я не использую код perse- я могу опубликовать то, что у меня есть завтра. – user97804

ответ

0

Все еще не уверены в именах полей и т. Д., Но приведен пример, который вы можете изменить. Измените 'tblEmployee' на 'базу данных'.

Я должен указать, что если вы только начинаете с разработки в Access (или VBA), что никогда не должны использовать имена, которые являются зарезервированными словами или которые могут вводить в заблуждение. Ваша таблица с именем «база данных» в порядке, если она называется «tblDatabase».

Option Compare Database 
option Explicit 

Private Sub cmdInsert_Click() 
Dim strSQL As String 
Dim i  As Integer 

    Debug.Print "cmdInsert; " 
    i = MsgBox("Do you want to add 1 row for Employee ID: " & Me.EmpID & " to table 'tracker'?", vbYesNo, "Confirm Add") 
    If i = vbNo Then 
     Exit Sub 
    End If 

    DoCmd.SetWarnings True 
    strSQL = "INSERT INTO tracker (FirstName, LastName, Add1, City, St, Zip) " & _ 
     "SELECT tblEmployee.FirstName, tblEmployee.LastName, tblEmployee.Add1, tblEmployee.City, tblEmployee.St, tblEmployee.Zip " & _ 
     "FROM tblEmployee " & _ 
     "WHERE (((tblEmployee.EmpID)=" & Me.EmpID & "));" 

    DoCmd.RunSQL strSQL 


End Sub 
0

Спасибо за помощь - я решил свою озабоченность, скрывая поля, которые содержат DLookup, и ввод кода за кнопкой, которая копирует информацию в полях, которые связаны и, следовательно, будет записывать в таблицу «Маячок»

Смежные вопросы