2016-12-05 2 views
0

У меня есть немного проблема с кодированием, которую я не знаю, как решить. Я хочу поместить в таблицу как запись имя поля другой таблицы в той же базе данных.Доступ к VBA Помещение имени поля в качестве записи

Я дам вам пример:

Table1 What I have

Таблица 2 What I want

В таблице 1 является обновление еженедельно от внешнего источника, поэтому мне нужно записать имя поля в виде запись во второй таблице с использованием языка VBA. Кто-нибудь знает, возможно ли это?

Спасибо заранее

ответ

1

Вы могли бы сделать что-то вроде этого

Dim db As Database 
Dim fld As Field 
Dim sql As String 
Set db = CurrentDb 

For Each fld In db.TableDefs("YourTable").Fields 

    sql = "Insert into YourSummaryTable([Date], Hours) select '" & fld.Name & "', sum([" & fld.Name & "]) as s from YourTable" 
    DoCmd.RunSQL sql 


Next fld 

Обратите внимание, что вы использовали зарезервированное слово Date как имя_поль, которая не является передовой практикой и требует использования квадратные скобки в запросе.

+0

Эй, у вас код очень хорошо работает. Однако, когда я запускаю его, появляется окно с «Введите значение параметра» для каждого имени поля. Есть ли способ, по которому мне не нужно ничего вводить, и запись остается с именем поля? –

+0

Каким типом данных является поле 'Date'? – GavinP

+0

Это может быть то, что я хочу. Но я бы предпочел Date \ Time или Short Text –

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