select * from *

Да, это то, что я хочу, я хочу вернуть все поля из всех таблиц в моей базе данных ACCESS независимо от имен полей или имен таблиц !!!

Например, если у меня есть таблицы table1 и table2 в качестве таблиц в моем файле доступа к базе данных, я хочу сгенерировать этот оператор

 select * from table1,table2

Из запроса sql, который отлично работает в запросе доступа

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

Есть ли способ для этого?

0
amr osama 16 Янв 2010 в 11:48
Когда вы говорите «вернуться», «вернуться в качестве чего»? А из VBA?
 – 
Adriaan Stander
16 Янв 2010 в 11:53
Я хочу, чтобы оператор выполнялся без ошибок, в редакторе запросов доступа "sql view" это позволит мне получить то, что я хочу, в редакторе Microsoft Query. * вернуть как набор результатов. * он будет использоваться в коде Excel vba, но моя цель - позволить ему работать в коде sql для запроса доступа.
 – 
amr osama
16 Янв 2010 в 11:58
1
Взгляните на p2p.wrox.com/vb-databases-basics/…. Это позволяет вам получить имена полей для каждой таблицы в VBA.
 – 
Adriaan Stander
16 Янв 2010 в 12:09
Есть ли в нужной таблице какие-либо конкретные имена полей? Есть ли в имени таблицы шаблон, например, месяц + год или имя пользователя + 1? Если вы предоставите более подробную информацию, возможно, удастся дать более подробный ответ.
 – 
Fionnuala
16 Янв 2010 в 14:06
Я ничего не знаю об этих таблицах, которые могут быть, а могут и не быть. Мне просто нужны все таблицы в базе данных, которые не являются sys. таблицы.
 – 
amr osama
16 Янв 2010 в 17:15

2 ответа

Лучший ответ

В этом запросе будут перечислены все имена таблиц.

SELECT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Type)=6))

Вы также можете использовать этот фрагмент кода, чтобы просмотреть каждую таблицу и перечислить все поля.

Public Sub List_fields_in_tables()
Dim tdf As DAO.TableDef
Dim fld As DAO.Field

For Each tdf In CurrentDb.TableDefs
    For Each fld In tdf.Fields
        Debug.Print "Table='" & tdf.name & "'  Field='" & fld.name & "'"

    Next fld

Next tdf

End Sub

Надеюсь это поможет

0
Kevin Ross 18 Янв 2010 в 11:22

Для этого вы должны использовать из базы данных Master в SQL Server

База данных Master содержит информацию обо всех столбцах всех ваших баз данных. также есть просмотр каталога для получения информации о конкретной базе данных.

Просто используйте мастер хранимые процедуры

-1
marc_s 10 Окт 2016 в 19:51
4
В вопросах говорится о доступе к MS.
 – 
Adriaan Stander
16 Янв 2010 в 11:53