Доступ: преобразование результата формы в таблицу

Я создал базовую форму поиска, в которой есть поля ввода, кнопки и область, в которой отображается результат.

Ключевое слово вводится в поля ввода, и нажмите кнопку "Поиск", чтобы отобразить результаты.

кнопка поиска имеет следующий код:

Private Sub mySearchQuery_Click()
Dim strSelect As String
Dim strWhere As String

If Len(Trim(Me!searchFirst.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND First_Name Like ""*" & Me!searchFirst.Value & "*"""
End If 
If Len(Trim(Me!searchLast.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND Last_Name Like ""*" & Me!searchLast.Value & "*"""
End If
If Len(Trim(Me!searchState.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND State Like ""*" & Me!searchState.Value & "*"""
End If
If Len(Trim(Me!searchLIC.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND LIC Like ""*" & Me!searchLIC.Value & "*"""
End If
If Len(Trim(Me!searchNPN.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND NPN Like ""*" & Me!searchNPN.Value & "*"""
End If
If Len(Trim(Me!searchEmail.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND Email Like ""*" & Me!searchEmail.Value & "*"""
End If
If Len(Trim(Me!searchDateFrom.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND EXP >= #" & Me.searchDateFrom.Value & "#"
End If
If Len(Trim(Me!searchDateTo.Value) & vbNullString) > 0 Then
    strWhere = strWhere & " AND EXP <= #" & Me.searchDateTo.Value & "#"
End If  

strSelect = "SELECT * FROM MasterData"
If Len(strWhere) > 0 Then
strSelect = strSelect & " WHERE " & Mid(strWhere, 6)
End If

Me.RecordSource = strSelect
' SubForm.Form.RecordSource = sql
End Sub

Эта кнопка поиска будет искать элемент на основе заданных критериев. Если я введу "NY" в поле ввода "Состояние" и нажму кнопку "Поиск", в результате отобразится состояние "NY".

Мой вопрос: как мне экспортировать этот возвращенный результат из формы в таблицу и сохранить его? было бы хорошо, если бы я мог это сделать.

1 ответ

Решение

Просто используйте простой SQL. Не так сложно.

DoCmd.RunSQL "SELECT * INTO MyTable FROM MasterData" & strWhere
Другие вопросы по тегам