|
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
|
|
Запрос к серверу не считывает параметр из формы16.08.2011, 19:12. Показов 4258. Ответов 9
Метки нет (Все метки)
![]() Доброго время суток! Пожалуйста, подскажите как создать запрос к серверу (из Access) c переменной, которая считывается с формы Что-то вроде SELECT N_Table.[Код] FROM N_Table Where [КОД]=Forms!......- не считывает Как сделать чтобы в запросе к серверу каждый раз автоматически подставлялся нужный код (из формы) для выборки. Чтобы в ответ получить не всю таблицу, а только нужную часть Заранее спасибо.
0
|
|
| 16.08.2011, 19:12 | |
|
Ответы с готовыми решениями:
9
Как передать параметр поля формы в запрос? Не считывает параметр с реестра Не считывает данные textBox из другой формы |
|
|
|
| 16.08.2011, 21:30 | |
|
попробуй создать макрос на открытие формы с аргументами:"Faktoria; Форма; ; ="[id]=" & [Id]; ; Обычное"
где Faktoria - это открываемая форма, Форма - вид открываемой формы, [id] - наименование поля в конечной форме, [Id] - поле со списком начальной формы, ( ; Обычное) - не помню для чего но это необходимо. А теперь проще, берешь форму, вставляешь в нее поле со списком, переименовываешь его дабы знать что с чем слогать, и ставишь кнопку. Далее по мастеру выбираешь открыть форму, связать по полям, выбираешь нужное и... готово! Пардон не правильно понял, чуть по точнее раскажи что к чему, а луше пример!
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
|
|
| 16.08.2011, 22:58 [ТС] | |
|
Ситуация в том, что таблица с сервера переносится полностью и на стороне клиента выполняется выборка.Требуется много времени на выполнение такого запроса.Если выборка будет происходить на сервере,допустим как хранимая процедура и клиенту пересылаться уже отобранные данные это будет выполнятся намного быстрее(что сэкономит рабочее время).Нужно напрямую обратится к серверу (T-SQL) Но я не знаю как передать входной параметр для выборки,который выводится на форме(каждый раз в запросе к серверу прописывать вручную,нереально)Необходимо автоматизировать.
0
|
|
|
|
|
| 16.08.2011, 23:52 | |
|
Самый простой выход создать дополнительную табличку, в которой всегда будет только одна запись (одна строчка) которая будет полем сравнения при условии отбора. Иначе тебе не ввести поле в TSQL.
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
|
|
| 17.08.2011, 12:06 [ТС] | |
|
Но если я каждому пользователю создам отдельную табличку, которая будет хранится на сервере...то получится что на сервере будет более 300 таблиц....Если подключить всех к одной, то, скорее всего,возникнет конфликт при одновременном выполнении.
Может для каждого пользователя, при его входе создавать временную таблицу?Но, насколько я знаю, это не лучший вариант.Да и практики в создании врем табл у меня нет.Может через VBA как-нибудь возможно передать в запрос к серверу изменяемый параметр? Пожалуйста, подскажите!!!Очень надеюсь на совет специалиста в данной области.
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|
| 18.08.2011, 02:21 | |
|
С хранимыми процедурами не работал, а вот с запросами - да. Решение с запросом тут есть очень даже рядом.
Поле со списком для поиска по фамилии
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
|
|
| 18.08.2011, 10:31 [ТС] | |
|
Я уже пошла именно этим путем.
Создала функцию в модуле.Начало положено,хоть какой-то плюс,теперь параметр определяется программно.Но проблема возникла в следующем: при запросе к серверу код SQL не обрабатывается,а сразу отправляется на сервер...там начинает его считывать и пишет что не определен Parametr_()-оно и ясно, ведь он определен только в Access....Необходимо чтобы в Access программно открывался данный запрос, вместо параметра ставилось нужное число и только после этого отправлялся на сервер-там происходила обработка-выбирались нужные строки-присылались пользователю-сохранялись в таблице...и все это программно.Подскажите как это прописать на VBA.
0
|
|
|
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
||||||
| 18.08.2011, 12:58 | ||||||
|
Сервер ничего не знает о Ваших формах.
Если запрос запускаете из VBA, то задайте переменной значение поля на форме.А уже в сам запрос подставляйте переменную Например, как-от так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 16
|
|
| 18.08.2011, 14:55 [ТС] | |
|
Agapov_stas, надеюсь,Вас не затруднит немного мне помочь.
На SQL сервере я создала хранимую процедуру с 2-мя входными параметрами, которые необходимо брать с формы ACCESS. Следовательно, необходимо из Access отправлять запрос к серверу на запуск данной процедуры и параметры. Если я правильно понимаю,это реально реализовать таким образом: -Нажимается кнопка и запускаестя код VBA -Формируется нужная SQL строка что-то вроде того: a = [Forms]![Товары].[Поле1] d=[Forms]![Товары].[Поле2] strSQL = "EXECUTE dbo.SP_TEST @КОD="'a'", @Filial="'b'"" В итоге результат её выполнения должен получится следующий strSQL = "EXECUTE dbo.SP_TEST @КОD='10', @Filial='Самара' -Это строка сохраняется как новый запрос под именем "Запрос1" к серверу (строка подключения, допустим что такая:dsn = "ODBC; DSN=.....;UID= ....; DATABASE=.....Trusted_Connection=Yes") -Запускается запрос, на создание таблицы все строки Запрос1 (SELECT INTO Таблица FROM Запрос1) -Удалить Запрос1(Чтобы не возникло ошибки при новом нажатии кнопки иначе будет ругаться что Запрос1 существует) -Далее работаем только с полученной таблицей Может я в чем-то не права?Тогда поправьте меня, пожалуйста... И если Вам не сложно черканите примерный код VBA(раньше мне не приходилось писать на данном языке) Заранее спасибо.
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|||||||||
| 19.08.2011, 02:51 | |||||||||
1
|
|||||||||
| 19.08.2011, 02:51 | |
|
Помогаю со студенческими работами здесь
10
Запрос к серверу запрос к серверу Запрос к серверу на форме GET запрос от клиента серверу Не проходит запрос к серверу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|