Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Set tbl = CurrentDb().openrecordset("Таблица1", dbOpenDynaset) - Ошибка:ОШИБОЧНЫЙ АРГУМЕНТ Почему, в чем дело???? Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2002, 20:47 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Надо писать: Dim dbs as Database,tbl as Recordset Set dbs=CurrentDb Set tbl = dbs.openrecordset("Таблица1", dbOpenDynaset) Вместо dbOpenDynaset в этом случае лучше dbOpenTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 09:41 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Dim dbs as Database,tbl as Recordset Set dbs=CurrentDb Set tbl = dbs.openrecordset("QQ", dbOpenDynaset) tbl.AddNew tbl!Tip = "Ночные часы" tbl.Update tbl.Close Ошибка:Type mismatch! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 15:12 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
А если я Вас спрошу: какая библиотека подключена? DAO или ADO? Если DAO то Dim dbs as DAO.Database,tbl as DAO.Recordset Если ADO то и прога работать в том выражении, что Вы написали, не будет. Скорее всего у Вас включена ADO; либо DAO включена, но стоит ниже, чем ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 15:29 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Ok, а если усложним задачу... К примеру, вот такие дикие условия на значения заполняемых полей: Процедура из подчиненной формы SubInv([BOQty] вычисляется там) Значения для полей находятся из двух различных таблиц по условию из основной формы Inv. Реакции никакой, убила вечер и пол-ночи:). Dim dbs As Database, tbl As Recordset Dim strFilter As String If [BOQty] > 0 Then Set dbs = CurrentDb Set tbl = dbs.OpenRecordset("BackOrder", dbOpenTable) tbl.AddNew tbl!BO_Numb = DLookup([OrderNumb], "Orders", [OrderID] = "" _ & Forms!Invoice!OrderID) + "/1" tbl!RsMdID = DLookup("[RSID]", "RSMainDocuments", "[InvoiceID] = " _ & Forms![Invoice]!InvoiceID) tbs.Update tbs.Close Set dbs = Nothing End If End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2003, 14:02 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Пиши явно: Код: plaintext проблем не должно быть. Также (на всякий случай) указывай явно библиотеку и при открытии рекордсета: Код: plaintext 1. Что касается DAO.dbOpenDynaset - его тоже можно без проблем использовать. Для добавления записи значения не имеет, но зато даёт делать поиск по таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2003, 14:48 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Нет результата:( То есть Аccess ни на что не ругается, просто не добавляет запись. Попробовала и DAO указать и поменяла dbOpenTable на dbOpenDynaset... ничегошеньки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2003, 15:05 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Ну естественно! Если это действительно код программы, то зачем делать tbl.addnew, а потом tbs.update? Либо tbl, либо tbs. В этом проблема или всё-таки это опечатка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2003, 15:21 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
To: Suslik Конечно, это опечатки, вернее остатки от моих изысков:) Подправив все, тоже ничего не выходит. Получилось только когда я вставила в SubInv поле [OrderNumb], и в лоб присвоила это значение: Private Sub Form_AfterUpdate() Dim dbs As Database, tbl As DAO.Recordset Dim strFilter As String If [BOQty] > 0 Then Set dbs = CurrentDb Set tbl = dbs.OpenRecordset("BackOrder", DAO.dbOpenDynaset) tbl.AddNew tbl!BO_Numb = LTrim(Str([OrderNumb])) + "/1" 'tbl!RsMdID = DLookup("[RSID]", "RSMainDocuments", "[InvoiceID] = " _ & Forms![Invoice]!InvoiceID) tbl.Update tbl.Close Set dbs = Nothing End If End Sub Но если включить предложение для второго поля tbl!RsMdID опять ничего не выходит. Не хочется пихать в запрос этой подчиненной формы лишние таблицы и в форму - "невидимые поля". Может DLookup не годится для этого случая? Все равно, большое спасибо за советы. С Новом годом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2003, 00:54 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Возможно и не годится. В Help'е явно сказано: Unsaved changes to records in domain aren't included when you use this function. If you want the DLookup function to be based on the changed values, you must first save the changes by clicking Save Record on the File menu, moving the focus to another record, or by using the Update method. Проблема может быть и в этом. Вообще говоря, хоть и очень хочется, но к DLookUp лучше не прибегать, даже если это и кажется очень удобным. Гораздо эффективнее и грамотнее всё же включать в RecordSource для формы все необходимые поля, если это возможно в конкретном контексте. Что касается неработающего примера, то я бы искал проблему следующим образом: 1. Для начала, разумеется, я бы пробежался по коду с помощью F8 и проверял бы значение всех полей и переменных с помощью Debug.Print, чтобы убедиться, что там именно те значения, которые должны быть. 2. Я бы исправил строчку с DLookUp на такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 3. Выполнил бы весь код не в событии AfterUpdate, а где-нибудь в другом месте. Скажем, повесил бы на нажатие кнопки, которую временно создал бы специально для этого 4. Если ничего не помогло, внимательно посмотрел бы на структуру таблиц, на отношения между главной/подчинённой формами, на прочие технические мелочи 5. Если опять ничего не помогло, то написал бы в форум вопрос. :) А вообще, лучше добавить поля в RecordSource... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2003, 12:45 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Ну прямо в точку попал:) Я уже добавила в RecordSource подформы Order_Numb поэтому, то он и сработал, там прямая связь таблица с запросом, но не могу добавить поле RSID и вот почему... Дело в том, что эту ... историю я затеяла не от хорошей жизни:) Пробую отобразить в базе такую жизненную ситуацию: Организуется Order, на основе которого выдается Invoice. В процессе заполнения поля для отправки оборудования (эта наша подчиненная форма SubInv) выясняется, что чего-то ну просто нет на складе. Вычисляется BOQty кол-во недостающих единиц по каждому продукту и, в энтот момент необходимо автоматическое создание записи в таблице BackOrders (ну и визуальное отображение для юзера). Все было бы логично и красиво, если бы не... На основе Back Order (ВО) нам нужно будет тоже создать инвойс, причем со всеми ссылочками на оригинальные ордер и инвойс (две отдельных таблицы с инвойсами - немного ненормально). В свою очередь, этот инвойс может породить другой BO (к примеру, клиет не может ждать и мы отправляем только часть недостающего оборудования) Не утомила?:) Дико, правда? Ну я попыталась выйти из ситуации (ссылка: BO-Invoice - Invoice-BO) путем создания промежуточной таблицы RsMd, где находится связка оригинальный Оrder-оригинальный Invoice и сослала BO на "еешний" ID. При добавлении в RecordSource RSID запрос закрывает разрешение на добавление записей. О! появилась идейка! Щас проверю. Вот чего мне нехватает, так это обсуждения с кем-нибудь проблемы организации алгоритма, когда объясняешь, находишь какой-нибудь выход... Может, не права, не знаю. Буду пробовать продолжать через неделю (завтра уезжаю). А help я читаю регулярно, без него никуда:) Спасибо за программу действий, вышло круто:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2003, 08:09 |
|
||
|
Добавление записи в таблицу
|
|||
|---|---|---|---|
|
#18+
Ну что вы там, все еще спите? Ну скажите, что эта решение - бредовая идея и я, наконец, пойду спать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2003, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32086785&tid=1682606]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 393ms |

| 0 / 0 |
