|
|
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Можно ли в VBA создать запрос, который добавит записи в "таблицу 1" на основе выборки из "таблицы 2"? желательно коротенький примерчик Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2003, 23:10 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2003, 23:23 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
это-то я знаю :) Я никак не пойму, каким образом это реализовать через VBA??? Help pls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2003, 23:48 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Проявите активность pls :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 00:56 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Предлагаю на обсуждение тупой способ: Dim r1 As DAO.Recordset Dim r2 As DAO.Recordset Dim z As String Set r1 = CurrentDb.OpenRecordset("cash_rest") Set r2 = CurrentDb.OpenRecordset("SELECT sum(приход) as x, sum(расход) as y FROM cash WHERE(((cash.валюта) = '" & r1("currency") & "'))") r1.Edit z = r2("x") - r2("y") r1("rest") = z r1.Update r1.close r2.close Интересуюсь конструктивной критикой :) Этот способ не полностью отвечает поставленной задаче, т.к. возврщает значение только для первой строки в таблице. А вот как заполнить все?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 01:13 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Выше был хороший пример использования SQL вместо ВБА-шного переноса записей ручками. Применение его такое: strMySQLString="SELECT * FROM ...." 'здесь текст SQL, такой же, как SQL в сохраненных запросах базы docmd.RunSQL strMySQLString ' а вот и выполнение запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 09:34 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V: ну если принципиально на ВБА, то вот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 09:39 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 09:44 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
А по VIG-у все-таки проще, мне так кажется. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 10:01 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Да вы что, какие нафиг рекордсеты при выполнении обычного запроса?? Нафига?? Т.е. если вам надо добавить 1000000 записей куда-либо вы это делаете через рекордсет? Флаг в руки и барабан на шею:) Код: plaintext 1. Можно не через Docmd, а через Execute действовать, но уж никак не через рекордсеты. Это ещё простой вариант, а если у вас сложный запрос на основании нескольких таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 10:04 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
проще-то оно проще, но Vsevolod V видимо спросил про принцип, задачка-то наверное посложнее будет. я надеюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 10:05 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Господа! Как это не прискорбно, но задачка действительно не так проста. Объясню подробно. Существует таблица Cash_rest ("Остаток кассы") (поля: Currency (валюта), Rest (остаток)), заполняется на основе запроса с параметром DISTINCT из таблицы касса (cash) (используемые поля: Валюта, Приход, Расход). Задача в том, что необходимо сосчитать остаток кассы (Приход - Расход) по каждой валюте из таблицы cash_rest Вот, что уже сделано: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код работает на 30%: он находит значение остатка только по первой валюте из таблицы Cash_rest и заполняет этим значением все поле Rest, начиная с последней записи!!! Тут что-то не то :) Help pls!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:03 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Вариант Insert Into не подходит так как нужно изменять уже существую щие стьроки, а с UPDATE я как-то не пойму че делать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:05 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
немножко подкорректирую: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:13 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
УРА!!! Работает :)) СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:16 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Типа оригинальный выход :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:17 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V Зачем тебе держать отдельную таблицу cash_rest,когда элементарный запрос Код: plaintext 1. 2. 3. дает тебе то ,что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 13:51 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Псевдоним Приход привел к возникновению циклической ссылки. Типа неувязочка :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 14:36 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Типа ... поменяй псевдоним на Уход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 14:44 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Select [валюта],sum([Приход]) as Приход ик ,sum([Расход]) as Расход, sum([Приход])-sum([Расход]) as Остаток from cash group by [валюта] :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 14:45 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
Я ступил :)) Я так делал, только еще и в Sum(...) тоже Приходик вставил :) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 14:47 |
|
||
|
Объсните, пожалуйста... :)
|
|||
|---|---|---|---|
|
#18+
А еще лучше Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 14:53 |
|
||
|
|

start [/forum/moderation_log.php?user_name=GuestGuestqwerty]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 653ms |
| total: | 848ms |

| 0 / 0 |
