powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Странности ADP
55 сообщений из 55, показаны все 3 страниц
Странности ADP
    #32654739
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал тут перевод MDB->ADP. Кто-то наверно уже заметил.
В принципе ничего сложного, разве что некоторые заморочки, но в принципе то же, что и MDB, только надо извилины немного подругому направить.
Так вот сталкнулся, с некоторыми странностями (на мой взгляд), хотя может оно должно так быть в ADP. Странности эти обошёл всякие хитростями, если кого заинтересует опишу, но меня волнуют не способы обхода, а нормальное решение появившихся проблем, поэтому задаю свои вопросы форуму, кто знает и сталкивался расскажите, объясните

1) есть в форме контрол(поле со списком), к примеру, PPP, но получается и значений ХП. ХП получена так, обычный SELECT.. в Where a=@b, где b- конторол формы.
Глюк: если у конторола PPP в значение "число столбцов"=1 и "присоедин.столбец"=2, то получаем при выборе контрола PPP вываливается список с значениями, выбираем значение, а оно после выбора сбрасывается, проделал все проверки на присваивание NULL или 'пусто' нифига.

2) Вообще, в принципе DAO в ADP работает, но есть модули, где DAO работает, а есть где - нет, причём не ошибку выдаёт, вытащил ошибку (91) путём Debug.Print err.number

3) Многие предлагают уйти от представлений, но как от них уйти, если ХП у меня образовывается, путём Join-а таблиц и представлений.

4)И самое весёлое, так как занимаюсь разработкой, постоянно юзаю сервак, но не головной (на другой машине), так вот участились случаи падения служб SQL и оболочки .mde(клиент) файл-сервера (сейчас работает ), причём замечу, РАБОЧЕЙ БАЗЫ офиса.
Жду пояснений, нареканий , может что-то не так делаю.
Критикуйте, но выслушу только аргументированную критику.
...
Рейтинг: 0 / 0
Странности ADP
    #32654790
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По пункту 2 - Дао работает в адп при подключённой библиотеке. Всё зависит от того, для чего вы его собираетесь использовать - в адп можно обходиться без дао - используя только адо - и нужно.

Не надо джойнить таблицы и вьюхи - надо уходить от мдб-структуры:) В хп можно сделать какие угодно вычисления и вернуть селект. Только желательно обходиться без курсоров - они работаю медленно.
...
Рейтинг: 0 / 0
Странности ADP
    #32654802
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) "число столбцов"=1 и "присоедин.столбец"=2,
полная ахинея.
не понимай: зачем ты задаешь 1, а пытаешься взять инфу из НЕСУЩЕСТВУЮЩЕГО второго столбца
2)хаммер уже сказал
3)заммер сказал
4)руки кривые
...
Рейтинг: 0 / 0
Странности ADP
    #32654831
Alex_2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Несколько неприятных особенностей, с которыми я столкнулся при написании ADP проекта на Microsoft Access 2000 под MS-SQL сервер 2000.

1. Если Вы используете хранимые процедуры с параметрами, и добавляете их в коллекцию Parameters руками, делайте это строго в порядке перечисления этих параметров в исходном тексте процедуры вне зависимости от того, как именно эти параметры называются. Например, процедура:
Код: plaintext
1.
2.
3.
4.
CREATE PROCEDURE Up_Proc1
@par1 int
		@par2 int
		@par3 int
	AS ...

Для нее кусок, определяющий параметры должен быть таким:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Set oPar = .CreateParameter("@return", adInteger, adParamReturnValue)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par1", adInteger, adParamInput, , par1)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par2", adInteger, adParamInput, , par2)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par3", adInteger, adParamInput, , par3)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Если Вы сделаете например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Set oPar = .CreateParameter("@return", adInteger, adParamReturnValue)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par1", adInteger, adParamInput, , par1)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par3", adInteger, adParamInput, , par3)
oCmd.Parameters.Append oPar
Set oPar = Nothing
Set oPar = .CreateParameter("@par2", adInteger, adParamInput, , par2)
oCmd.Parameters.Append oPar
Set oPar = Nothing
То в результате, когда все заработает, в процедуру, вместо par2 попадет значение par3 и наоборот.

2. Если не указывать SET NOCOUNT ON в первом операторе хранимой процедуры, то при любой мало-мальски сложной хранимой процедуре (использование нескольких SELECT, временных таблиц, курсоров и т.п.) она перестает нормально выполняться из среды Access (через окно Stored Procedures).

3. При создании отчета, основанного на сложной хранимой процедуре Access перестает видеть поля этой процедуры, при конструировании отчета и выдает ошибку о том, что такого объекта нет в базе данных. Причем сам отчет, если его запустить на выполнение продолжает работать, если в его полях нет функций IIF().

4. У объекта CurrentProject.Connection невозможно вытащить информацию об ошибках SQL-сервера, хотя если создать отдельный объект ADODB.Connection, все вытаскивается нормально.

5. Предположим, что имеется следующая ситуация: на сервере есть VIEW, основанный на таблице. У Вас есть все права на этот VIEW но нет никаких прав на саму таблицу. В самом VIEW присутствует поле первичного ключа таблицы. Несмотря на это Вы не сможете через этот VIEW ничего изменить - данные всегда будут доступны только для чтения. В результате придется или давать всем права на сами таблицы, или писать руками форму + пару хранимых процедур на чтение/запись данных одной строки таблицы.

Вот пока все, что накопал. Может кому пригодится.
...
Рейтинг: 0 / 0
Странности ADP
    #32654967
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот глюк, который я вообще понять не могу,
вот часть кода (в ADP):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Set cnn = New ADODB.Connection
    Set cnn = CurrentProject.Connection
    If Me.Ed_fl =  0  Then
    Set t = New ADODB.Recordset
    t.Open "base_plat", cnn, adOpenDynamic, adLockOptimistic, adCmdTable
t.AddNew
        t!Contract_for_pay = Me.Contract_for_pay
        t!Pay_type = Me.Pay_type
        t!Type_doc_of_contr = Val(Me.Type_doc_of_contr)
        If IsNull(DOC_ATT_ID) = False Then
            t!Id_doc_contr = Val(Me.DOC_ATT_ID)
        End If
        t!Date_time = Me.Date_time
        
        t!Who_pay = Me.Who_pay
t.Update
Не работает.
...
Рейтинг: 0 / 0
Странности ADP
    #32654981
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Proga, ты первый день на форуме?

Не работает.
И заепись
...
Рейтинг: 0 / 0
Странности ADP
    #32654982
Galustov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ProgaА вот глюк, который я вообще понять не могу,
вот часть кода (в ADP):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Set cnn = New ADODB.Connection
    Set cnn = CurrentProject.Connection
    If Me.Ed_fl =  0  Then
    Set t = New ADODB.Recordset
    t.Open "base_plat", cnn, adOpenDynamic, adLockOptimistic, adCmdTable
t.AddNew
        t!Contract_for_pay = Me.Contract_for_pay
        t!Pay_type = Me.Pay_type
        t!Type_doc_of_contr = Val(Me.Type_doc_of_contr)
        If IsNull(DOC_ATT_ID) = False Then
            t!Id_doc_contr = Val(Me.DOC_ATT_ID)
        End If
        t!Date_time = Me.Date_time
        
        t!Who_pay = Me.Who_pay
t.Update
Не работает.

а где не работает и какую ошибку выдаёт можно узнать?
...
Рейтинг: 0 / 0
Странности ADP
    #32654995
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЫПАДАЕТ НА Update, ошибка не вываливается, смотри пост Alex_2004: пункт.4
...
Рейтинг: 0 / 0
Странности ADP
    #32655011
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВЫПАДАЕТ НА Update, ошибка не вываливается
А выпадает, надо полагать, компутер из окна.
Молча. Без каких-либо сообщений.
...
Рейтинг: 0 / 0
Странности ADP
    #32655027
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ в base_plat конечно, есть.
...
Рейтинг: 0 / 0
Странности ADP
    #32655039
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, просто молча, без показа ошибки, нажимаю кнопку на форме, по идее должна происходить запись в таблу, но ничего не делает. В отладчике запустил, когда дошёл до Update, сразу перешёл в конец программы.
...
Рейтинг: 0 / 0
Странности ADP
    #32655041
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Витал: конечно есть
...
Рейтинг: 0 / 0
Странности ADP
    #32655074
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё перепробывал, ничего не помогает, мужики помогайте, первый раз такое вижу, даже и в голову не приходит на что ещё посмотреть.
...
Рейтинг: 0 / 0
Странности ADP
    #32655078
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так попробовать?

Код: plaintext
1.
2.
rs.CursorType = adOpenForwardOnly
rs.LockType = adLockOptimistic
rs.Open "Select * From base_plat", cnn
...
Рейтинг: 0 / 0
Странности ADP
    #32655109
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати сказать, баги 2000-го меня давно перебросили на ХР. Так что если у Вас А2000 попробуйте тоже самое в А2002.
...
Рейтинг: 0 / 0
Странности ADP
    #32655138
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бесполезно. А у меня 2002.
...
Рейтинг: 0 / 0
Странности ADP
    #32655152
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaБесполезно. А у меня 2002.

Бесполезен 2002 или код?

ProgaВЫПАДАЕТ НА Update, ошибка не вываливается, смотри пост Alex_2004: пункт.4

А VBA что говорит? Есть там обработчик ошибок?
...
Рейтинг: 0 / 0
Странности ADP
    #32655196
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Витал: КОД попробывал, что ты предложил, не помогает.
Обработчик ошибку не выкидывает, просто программу закрывает.
...
Рейтинг: 0 / 0
Странности ADP
    #32655214
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga2 Витал: КОД попробывал, что ты предложил, не помогает.
Обработчик ошибку не выкидывает, просто программу закрывает.

Т.е. несмотря на то что у тебя в проце стоит
On Error GOTO ex

....
ex:
err.Number & " " err.Description

молча вылетает?
...
Рейтинг: 0 / 0
Странности ADP
    #32655225
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот тока час назад говорили:
для добавления записи НЕ НАДО открывать всю таблицу
делай все запросом

и этот код выкладывает товарищчь, претендующий на работу в 1000 долларов.
...
Рейтинг: 0 / 0
Странности ADP
    #32655258
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ищ: Да как только я не делал, всё равно не получается.
Это что-то с софтом, буду рыть. Найду и убью эту глюку по любому.
Хватит наезжать, лучше б помог, вот сталкнёшься и помочь будет некому.
...
Рейтинг: 0 / 0
Странности ADP
    #32655293
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот и нашёл я ГЛЮКУ, ха-ха.
Оказывается DTS при переносе базы напартачил, скинул пару значений
allow null.
Не верьте DTS он всё врёт(за ним надо проверять, причём оказывается дважды).
...
Рейтинг: 0 / 0
Странности ADP
    #32655301
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык. Все равно странно, что обработчик не выдал сообщение

MsgBox Err.Number & " " & Err.Description

я пригорюнился
...
Рейтинг: 0 / 0
Странности ADP
    #32655305
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Proga
ДТС не портачит - портачит тот, кто его делает:) ДТС - мощнейшее средство СКЛ сервера.
...
Рейтинг: 0 / 0
Странности ADP
    #32655309
йййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Плохой проге ДТС мешает однако :)
...
Рейтинг: 0 / 0
Странности ADP
    #32655317
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХА-ХА-ХА!!!
Если б я программы писал, также как DTS работает, меня бы выгнали уже давно.
Хотя согласен, без него не обойтись.(ну или долго врукопашную пришлось бы делать)
...
Рейтинг: 0 / 0
Странности ADP
    #32655326
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaХА-ХА-ХА!!!
Если б я программы писал, также как DTS работает, меня бы выгнали уже давно.
Хотя согласен, без него не обойтись.(ну или долго врукопашную пришлось бы делать)

Если бы ДТС умел думать за программистов - его давно бы взяли на работу... вместо нас.
...
Рейтинг: 0 / 0
Странности ADP
    #32655335
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это точно, поэтому я и стою больше 1000$
...
Рейтинг: 0 / 0
Странности ADP
    #32655353
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Proga
Это кто вам такое сказал?
Вы внимательно почитайте слова ищ:)

Да, человек который группировку в Екселе программно смог сделать - точно стоит больше 100 баксов :)
Без обид, но самомнение у вас дай бог.

Сам получаю после уплаты гос-ву 13 процентов поболе 1к, но до 1500, куда вы метите не дотягиваю прилично.
...
Рейтинг: 0 / 0
Странности ADP
    #32655381
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hummer: А зря, между прочим заниженная самооценка приводит к фатальным последствиям. А вам советую искать работу соответствующую вашим проф.знаниям. И вопросы тогда исчезнут, почему я хочу 1100 к примеру, а не 700-800. Я сначала добиваюсь хорошей з\п, а потом подбиваю к полученному, проф.знания, а то я так всю жизнь могу учиться программить и потом, в конце неё получать, как многие, приличную з\п.

Мне не важно как я этого добиваюсь и стою ли этих денег или нет. Главное была бы цель, а уж остальное приложится.
...
Рейтинг: 0 / 0
Странности ADP
    #32655472
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ИЩ: ХП возращает 2 значения, по пункту 1.
...
Рейтинг: 0 / 0
Странности ADP
    #32655506
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рыдаль
...
Рейтинг: 0 / 0
Странности ADP
    #32655522
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 VIG: в каком смысле?
...
Рейтинг: 0 / 0
Странности ADP
    #32655556
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом
ProgaЭто точно, поэтому я и стою больше 1000$
...
Рейтинг: 0 / 0
Странности ADP
    #32655561
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а я реву
...
Рейтинг: 0 / 0
Странности ADP
    #32655563
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злые вы!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Странности ADP
    #32655578
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, договорились, застыдить хотите, так вперёд Однако кто из вас за месяц освоил MS SQL server, написание ХП всех видов, перевёл MDB(приличный проект) в ADP, паралельно админил офис в 100 компов, изучил Project Server, откликнитесь, что много таких? Вам бы только наезжать.

Согласен я делаю жалкие попытки развиваться, но хотя бы делаю, а некоторые всю жизнь от рассвета до заката одно и тоже.

А если я пытаюсь чему-то научиться, при этом ни хочу себе ни в чём отказывать, никто не в праве меня обвинять.
Посмотрите хотя бы на своё начальство, много они знают, а при этом получают больше, чем многие из нас. И что, они достойны своей з\п, не думаю.
Так что не судите других, да не судимы будете.
...
Рейтинг: 0 / 0
Странности ADP
    #32655593
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"я повернусь к вам задом
и делайте что хотите"

где-то я уже слышал это в Мытищах
знакомые слова
...
Рейтинг: 0 / 0
Странности ADP
    #32655594
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это уже ХАМство :-))
...
Рейтинг: 0 / 0
Странности ADP
    #32655625
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однако кто из вас за месяц освоил MS SQL server, написание ХП всех видов, перевёл MDB(приличный проект) в ADP, паралельно админил офис в 100 компов, изучил Project Server
Есть такая птица - утка.
Она умеет летать, ходить, плавать и нырять.
И все это она делает х.ево.

откликнитесь, что много таких?
Ну... если сюда еще добавить, скажем, закупку и ремонт копьютерной и оргтехники, поддержку пользователей, офисную телефонию и электропроводку - то да, таких много. Не обязательно здесь, но много. Эникейщиками зовут.
Кстати, эникейщики 1000 не получают. Или очень редко.

Вам бы только наезжать.
А мы не со зла.
Ценить себя, любимого, ты можешь сколь угодно высоко, но к реальной жизни это может не иметь ровно никакого отношения.

Если б я программы писал, также как DTS работает...
... т.е. иногда с глючками, но в общем ахуительно - то о 1500 ты бы не мечтал, а давно бы их получал.
...
Рейтинг: 0 / 0
Странности ADP
    #32655908
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я сначала добиваюсь хорошей з\п, а потом подбиваю к полученному, проф.знания

Подход клевый, тока надо найти придурка, который заплатит зарплату без знаний.
...
Рейтинг: 0 / 0
Странности ADP
    #32656017
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с наездами разобрались :), а теперь вопрос

ProgaНу вот и нашёл я ГЛЮКУ, ха-ха.

Оказывается DTS при переносе базы напартачил, скинул пару значений
allow null
.
Не верьте DTS он всё врёт(за ним надо проверять, причём оказывается дважды).

я так понимаю речь идёт не об SQL DTS , а об Акксесовском визарде
по переносу базы
т.к SQL DTS не переносит ключи, индексы и ограничения
Или я не права?
...
Рейтинг: 0 / 0
Странности ADP
    #32656030
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто из вас за месяц освоил

Напомнило анекдот про изучение китайского:
За сколько времени узучите - отвечает профессор - ну, несколько лет; доцент - год; студент - когда сдавать?
...
Рейтинг: 0 / 0
Странности ADP
    #32656103
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 TatianaT: Вот именно, что DTS не Аксовый, а SQL server. В том то и беда. Я то думал, он всё всегда делает правильно, а он подвёл.(видимо хреновый софт, а это уже не ко мне, а к сисадминам.)

А насчёт найти придурка, который был взял меня на работу. Так я умею себя приподнести, в отличие отнаезжающих, которые набрались опыта, а проангажировать себя не умеют.ХАААААААААААААААААААААААААААААА!!!!!!!
...
Рейтинг: 0 / 0
Странности ADP
    #32656126
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пр е поднести
от _ наезжающих
который бы л
(или он действительно был?)

Вот так ты умеешь себя...

З.Ы. Тут вот бродит некто Galustov, умеющий программировать в экселе, и считающий, что стоит от 2000. Ну так он, справедливости ради надо отметить, даже и не пытается позиционировать себя как программиста.
...
Рейтинг: 0 / 0
Странности ADP
    #32656163
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный: А вот так ты себя преподносишь,
ахуительно - охуительно (чувствуешь разницу)
(да и вообще мат не люблю, не с лучшей стороны характеризует специалиста)
...
Рейтинг: 0 / 0
Странности ADP
    #32656174
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лет десять никому себя не преподносил...
Мне преподносят.

С таким умением себя преподносить и с такими навыками программирования я б задумался о смене профессии.
...
Рейтинг: 0 / 0
Странности ADP
    #32656182
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется, плохой ДТС гораздо лучше характеризует специалиста.

ахуительно - охуительно (чувствуешь разницу)
Я - чувствую. А ты, похоже, нет.

Кстати, если ты думаешь, что я на работе или на собеседовании матом не ругаюсь - то ты глубоко заблуждаешься
Так что именно так я сибя и припаднашу.
...
Рейтинг: 0 / 0
Странности ADP
    #32656190
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shark
С таким умением себя преподносить и с такими навыками программирования я б задумался о смене профессии.
Профессия - преподносильщик
...
Рейтинг: 0 / 0
Странности ADP
    #32751591
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал на сервере UDF, возвращает одно значение int
В VBA его удается вернуть только как рекордсет:

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Find_agent_Click()
Dim rs As Recordset
s = "select dbo.get_agent(" & Me.Район & ")"
Set rs = CurrentProject.Connection.Execute(s)
Me.агент = rs.Fields( 0 ).Value
End Sub

Это как понимать? глюк Аксесса, или мой глюк, почему нельзя проще то сделать? Или можно, но я что-то недопетрил?
...
Рейтинг: 0 / 0
Странности ADP
    #32751600
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще можно :)
Код: plaintext
1.
Me.агент=CurrentProject.Connection.Execute("select dbo.get_agent(" & Me.Район & ")"
)( 0 )

А вообще-то это не глюк аксесса, а фича MSSQL, ну нету у него специального синтаксиса для вызова скалярных функций :)
...
Рейтинг: 0 / 0
Странности ADP
    #32751722
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще-то это не глюк аксесса, а фича MSSQL, ну нету у него специального синтаксиса для вызова скалярных функций :)
Хм... Можно подумать, что от замены MS SQL Server на любой другой что-то изменится.
С таким же успехом эту "фичу MS SQL" можно считать фичей ADO. Или фичей языка SQL. А то и вообще фичей реляционных баз данных. Ну вот такие вот они, эти базы данных, почему-то кортежами данных оперируют, а не милыми глазу больных программистов вызовами функций...
...
Рейтинг: 0 / 0
Странности ADP
    #32751724
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу "проще".

вот Microsoft утверждает, что вот так будет если не проще, то быстрей.
http://support.microsoft.com/default.aspx?scid=kb;en-us;271689

(с выражением лица)
...
Рейтинг: 0 / 0
Странности ADP
    #32751803
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпо поводу "проще".

вот Microsoft утверждает, что вот так будет если не проще, то быстрей.
http://support.microsoft.com/default.aspx?scid=kb;en-us;271689


APPLIES TO
• Microsoft Data Access Components 2.6 Service Pack 2
• Microsoft Data Access Components 2.7 Service Pack 1
• Microsoft Visual Basic 6.0 Learning Edition
• Microsoft Visual Basic 6.0 Professional Edition
• Microsoft Visual Basic 6.0 Enterprise Edition
• Microsoft SQL Server 2000 Standard Edition
• Microsoft ActiveX Data Objects 2.6 Service Pack 1
• Microsoft ActiveX Data Objects 2.7


Про VBA ни гу- гу

Посмотрел я тот пример... главная фича в нем - использование ADODB.Record

У меня по умолчанию в Access2003
• Microsoft ActiveX Data Objects 2.1 ... так что же, ради этого менять на всех клиентах библиотеку?

Я бы с радостью... но как это сделать легким движением руки?
...
Рейтинг: 0 / 0
Странности ADP
    #32752268
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант без рекордсета и рекорда (честный)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim p1 As ADODB.Parameter
Dim p2 As ADODB.Parameter
Dim cmd As New ADODB.Command

With cmd
    Set .ActiveConnection = CurrentProject.Connection
    Set p1 = .CreateParameter("ret", adVarChar, adParamOutput,  50 )
    Set p2 = .CreateParameter("arg", adVarChar, adParamInput,  50 , me.Район )
    .Parameters.Append p1
    .Parameters.Append p2
    .CommandText = "set ? = dbo.get_agent( ? )"
    .CommandType = adCmdText
    .Execute
End With

Me.агент=p1.value
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Странности ADP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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