powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Внос текста в Надпись
5 сообщений из 5, страница 1 из 1
Внос текста в Надпись
    #39685603
Devil_FoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

На форме есть 3 Надписи. Нужно внести в них значения с таблицы (Packet)
В таблице всегда только одна строка и три заполненных поля. Но эти поля созданы с помощью мастера подстановок.

Как внести значения в надписи?
Нашёл в нете такое (ниже). но как рассчитать запрос и внести его в поле?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim dbsNorthwind As DAO.Database
Dim rstProducts As DAO.Recordset
Dim strSQL As String

Set dbsNorthwind = CurrentDb
strSQL = "SELECT Address.Address FROM Packet INNER JOIN Address ON Packet.AdrID = Address.FilID;"
Set rstProducts = dbsNorthwind.OpenRecordset(strSQL)


Me.А_Поставщик.Caption = ?
...
Рейтинг: 0 / 0
Внос текста в Надпись
    #39685614
Uralec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Devil_FoX,

если таблица Packet заполнена, то можно

Set dbsNorthwind = CurrentDb
strSQL = "SELECT F1, F2, F3 FROM Packet"
Set rstProducts = dbsNorthwind.OpenRecordset(strSQL)

Me.А_Поставщик.Caption =rstProducts(0)
Me.Б_Поставщик.Caption =rstProducts(1)
Me.В_Поставщик.Caption =rstProducts(2)
...
Рейтинг: 0 / 0
Внос текста в Надпись
    #39685619
Для этого примера и при условии, что А_Поставщик - элемент типа "Надпись":
Код: vbnet
1.
Me![А_Поставщик].Caption = rstProducts![Address]


Но для вытаскивания трех значений ваш запрос должен строиться на 4-х таблицах (Packet и таблицы-источники подстановок, связанных (лучше LEFT JOIN) с Packet по соответствующим полям.
...
Рейтинг: 0 / 0
Внос текста в Надпись
    #39685635
Uralec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Uralec,

а если через рекордсет получатся Id записей таблицы источника вместо значения, то:

Me.А_Поставщик.Caption=DLookup("Нужное поле", "таблица источник","Id=" & rstProducts(0))


Не очень красиво, но если есть проблемы со сложными запросами то можно так решить.
...
Рейтинг: 0 / 0
Внос текста в Надпись
    #39685640
Devil_FoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Uralec, Кривцов Анатолий,

Спасибо вам. Я немного переделал и всё работает.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Set dbsNorthwind = CurrentDb
strSQL = "SELECT Address.Address, Supplier.Name, Packet.Annex FROM (Packet INNER JOIN Supplier ON Packet.PostID = Supplier.ID) INNER JOIN Address ON Packet.AdrID = Address.FilID;"

Set rstProducts = dbsNorthwind.OpenRecordset(strSQL)


Me.А_Адресс.Caption = rstProducts(0)
Me.А_Поставщик.Caption = rstProducts(1)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Внос текста в Надпись
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]