|
|
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Есть ленточная форма (Источник записей - табл. Калькуляция). Рассмотрим два поля этой формы: Поставщик (post) и Оплачено (opl). Поле оплачено заполняется из таблицы Касса в зависимости от значения в поле Поставщик, т.е. из кассы берутся данные об оплате, которые идентифицируются номером заказа и Поставщиком. Для заполнения поля оплачено я написал такую штуку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Но этот код заполняет все поле значениями, связанными только с текущей строкой в форме. Что ж тут исправить??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:06 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
напиши у контрола в соурсе =dlookup ("расход","cash","[поставщик] = '" & Me!post & "'") криво, зато просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:10 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 Ошибка синтаксиса во введенном выражении: пропущен операнд или оператор... Да и вообще, что это за функция такая? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:15 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
блин. ну вместо , надо ; =dlookup ("расход";"cash";"[поставщик] = '" & Me!post & "'") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:17 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Надо так =dlookup ("расход" ; "cash" ; "[поставщик] = '" & Me!post & "'") Теперь другая проблема: Эта функция возвращает значение только для первостроки, причем помещает это значение в последней строке, которая для добавления заисей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:18 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
первострока следует читать, как "первая строка" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:19 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Nick987 и что мне с ним делать??? с bookmarkom :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:22 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V: чего-то я не понял. почему первая строка. напиши так =dlookup ("расход";"cash";"[поставщик] = '" & [post] & "'") у меня все работает правильно. если не получится есть еще один вариант - правильный :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:23 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Когда переходишь по записям в Recordsetclone, на форме это не отражается, а в коде ты используешь ссылку на форму "Me!opl". Стало быть Me.bookmark = n.bookmark, если я правильно понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:28 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Кстати: 1) Я забыл, что выборка должна учитывать номер заказа, т.е параметра два :( 2) Предложенный тобой вариант вообще странно работает: он игнорирует условие и отображает первую строку таблицы Cash ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:30 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Вот такой вариант работает, как и первый вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:34 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
№;;%№%;№%№ ..... (это эмоции :) поле у тебя что текст??? что ты его в кавычки запихал ??? или это все таки поле со списком ??? и там на самом деле код поставщика. тогда убери нах кавычки (одинарные) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:35 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
>Вот такой вариант работает, как и первый вариант: не занимайся ерундой. зачем самому пересчитывать рекордсет формы, когда за тебя это прекрасно сделает Аксес. Другой вариант: в рекордсет формы подставь запрос в котором помимо табл Калькуляция будет выщитываться и расход. И повесь это поле (расход) на сурс контрола. Наслаждайся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:38 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
boookmark д.б. до обращения к Me, а не после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:41 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
тогда убери нах кавычки (одинарные) Код поставщика выглядит так: 6/05 - тобишь текст в рекордсет формы подставь запрос в котором помимо табл Калькуляция будет выщитываться и расход. И повесь это поле (расход) на сурс контрола Я с этого начинал... и запарился... Ну что ж буду продолжать париться :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:43 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Nick987 Sorry, я просто не доконца соображаю что такое bookmark И куда его не пихай работает одинаково... Буду париться с рекордсурсом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:45 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
чего там парится-то? select Калькуляция .*, cash.расход from Калькуляция inner join cash on Калькуляция.Поставщик=cash.Поставщик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:53 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Если поле opl не связанное, то оно всегда будет заполняться одинаковыми значениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:56 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Nick987, shasha_1 Еще немного и я признаюсь, что я пень Всем спасибо! с рекордсурсом разобрался сейчас попробую разобраться с рекордсетами (для интереса) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 11:59 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
К посту от 11:34. А кто сказал, что у этих двух рекордсетов будет одинаковый порядок сортировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:01 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
>Еще немного и я признаюсь, что я пень мой комп в открытую признается, что он четвертый пень и ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:02 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Владимир Саныч Спасибо за земечание... 2sasha_1 скромно квакает, что он 2-ой пенечек Но мне до них видать далеко. У мен раздвоений личности(расчетверений тоже) нет. Так что я могу стать только одним пнем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:05 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
АААА.... с рекордсурсом-то объект Recordset не является обновляемым :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:10 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
ну тогда dlookup тебе в руки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:30 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Нужно, чтобы код пробегал по всем записям текущей формы и заполнял оплату? Тогда примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Или проверял только текущую запись формы? Тогда, видимо, так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:36 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Только вместо d.movefirst я случайно написал r.movefirst ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:39 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 дак я бы рад :) Пишу =DLookUp("расход";"cash";[поставщик]='" & Me!post & "') все поле Оплачено - пустое и только в последней строке (новая запись) стоит значение расхода из первой строки Cash, т.е. параметр Поставщик не учтен Что за бред??? 2Geo Спасибо... Попробую, когда с DLookUp разберусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:47 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
начнем с того что синтаксиc д.б. такой :) =DLookUp("расход";"cash"; " [поставщик]='" & [post] & "') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:52 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 если с ковычками, то во всем поле #Имя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:54 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
уже теплее. Проверь следующее: 1.поле поставщик есть в таблице cash и оно текст 2.поле post есть в таблице Калькуляция и это тоже текст (очень я в этом сомневаюсь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 12:56 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Все поля на месте и идентичны... Единственное, что post - это имя поля с источником данных Поставщик. Но это не должно играть никакой роли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:01 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo Строка Код: plaintext 1. 2. Выдает ошибку: Элемент не обнаружен в данном семействе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:11 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
мда ... дурацкая мысль, а в запросе все выводилось правильно? если да, то кинь плз его SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:13 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Вместо "заказ" и "поставщик" поставь имена соответствующих полей таблицы Cash. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:13 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
...и вместо "order" и "post" - имена соотв. полей из таблицы-источника данных твоей формы (калькуляция, кажется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:15 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo Я знал, что ты это напишешь не... там все нормально... Тут вот какая штука: Если записи нет, то ошибка на этой строке, а если есть, то на строке n!opl = Nz(d![Расход], 0) 2sasha_1 SELECT calc.*, [cash].[расход] FROM calc INNER JOIN cash ON [calc].[Поставщик]=[cash].[Поставщик]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:26 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo программе не нравиться вот это: n! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:28 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo я там соврал... Он во всех ситуациях выдает ошибку на той строке У меня просто было заменено n!post на Me!post... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:32 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo Сорри все работает... Я просто указал имена полей, а не источники данных :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:36 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2 Geo: А зачем On Error Resume Next перед MoveFirst? Если на MoveFirst будет ошибка, значит рекордсет пустой, и тогда все дальнейшее не имеет смысла. Так что предлагаю так: If Not n.BOF Then n.MoveFirst ... 'вся программа End If n.Close - и никакого On Error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:36 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Владимир Саныч я и сам это убрал :) А можешь пояснить почему DlookUp не работает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:37 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
хрен знает что ну попробуй еще вот так =DLookUp("расход";"cash";"[поставщик]='" & [Поставщик] & "') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:39 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
> А можешь пояснить почему DlookUp не работает??? Покажи мне значение третьего параметра, тогда угадаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:41 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 DLookUp меня уже бесит :) Ошибка: Выражение содержит ошибочную строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:45 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
это кто так говорит? синтаксис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:47 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Это, когда в данные вставляешь эту строку, а потом нажимаешь энтер. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:52 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
еб.... мать, Всеволод возьми себя в руки. уж выражение-то написать сможешь. проверь, в конце концов напиши руками раз не можешь скопировать. P.S. извини погорячился :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:54 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Владимир Саныч пишу Me.opl.ControlSource = DLookup("расход", "cash", "[поставщик]='" & [Поставщик] & "'") ставлю break пишу ?Me.opl.ControlSource значение 1 (это правильно) а в поле #Имя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 13:58 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
ты чего это в ВБА пишешь???? ох.....фигел что ли в контрол это надо в свойства!!!!!!!!!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:02 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Всеволод, поддерживаю предыдущего оратора насчет матери. Я просил значение третьего параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:02 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 Да я сам тут уже в припадке сижу :) Руками написал - не работает Попробывал скопировать старый вариант - таже ошибка Закрыл форму, подошел к зеркалу и сказал "это жопа" Открыл форму, скопировал - РАБОТАЕТ СПАСИБО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:02 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Кстати, ControlSource может быть или значением поля, или знаком равенства с каким-нибудь выражением. Ты делал без знака равенства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:04 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1, Владимир Саныч я не в ВБА пишу Просто мне тут Саныч недавно объяснял как значение смотреть. Вот я и посмотрел Так и знал, что здесь что-то не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:04 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
не усек, в чем хохма-то была? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:25 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2sasha_1 Ни че не усек... Так обрадывался, что спроисть даже забыл :) Так и в чем же??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:30 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
>Так и в чем же??? помоему я первый спросил. почему заработало? чего сделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:34 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2BC Согласен. Я не знал, куда спозиционируется текущая запись n после me.recordsetclone. На всякий случай перехожу в начало. А что касается BOF - я до сих пор не уверен, можно ли им пользоваться. Он должен выдавать True, если указатель находиться "перед первой записью", кажется. Но ведь в пустом рекордсете нет первой записи. Поэтому проверять я эту функцию никогда не проверял, пользоваться не решился, а использовал такие нехитрые связочки. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:34 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
почему заработало? чего сделал? Работает этот вариант: DLookup("расход", "cash", "[поставщик]='" & [Поставщик] & "'") не работал, т.к. ты в конце кавычку забыл: =DLookUp("расход";"cash";"[поставщик]='" & [Поставщик] & "') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:40 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
тут мне не понятно, почему не нужно указывать Me! А насчет Поставщик вместо post это еще как-то можно понять :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:42 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Где не нужно указывать Me? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:43 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2 Geo: Не могу подкрепить сови слова ссылкой на хелп, MSDN или Гетца, но сам всегда пишу так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И оно работает - если рекордсет пуст, то BOF выдает True. Правда, эта моя привычка только из DAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:46 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo DLookup("расход", "cash", "[поставщик]='" & Me! [Поставщик] & "'") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:46 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2ВС Буду иметь в виду, спасибо :) 2Всеволод А [Поставщик] - это поле формы или поле источника данных? Если формы, то мне тоже непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:48 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
Я тоже заметил что конструкторе ни когда не ставить Me! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:50 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
>тут мне не понятно, почему не нужно указывать Me! по той же причине, почему ты не пишешь me![имя_поля] в сурсе контрола, а пишешь просто имя_поля. по умолчанию это поле ищется в рекордсоурсе формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:50 |
|
||
|
Цикл Do...Loop
|
|||
|---|---|---|---|
|
#18+
2Geo Поставщик - это источник данных поля "post" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 14:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1679772]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 396ms |

| 0 / 0 |
