powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
25 сообщений из 28, страница 1 из 2
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841293
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли способ добавить в подчинённую форму новые записи, без внесения их в таблицу?
Нужно просто добавить какое-то количество строк с данными в подчинёнку, без проверки вводимых данных.
Может это можно сделать через динамический рекордсет? Или ещё каким-то способом?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841340
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если подчинённая форма - свободная, то запросто.
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841391
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktor zeleninЕсть ли способ добавить в подчинённую форму новые записи, без внесения их в таблицу?
Нужно просто добавить какое-то количество строк с данными в подчинёнку, без проверки вводимых данных.
Может это можно сделать через динамический рекордсет? Или ещё каким-то способом?
1
подч.форма на времянке
2
подч.форма на свободном/отвязанном рекордсете
3
поле статуса для главной

выбирай ! :)
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841449
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112, я бы выбрал 2 пункт. на свободном/отвязанном рекордсете

как это сделать можно? если можно примером, я уже перепробовал 1.000.000 комбинаций. не получается.

закидываю на форму подчинённую форму, что в источнике данных писать? Или какой запрос?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841496
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktor zeleninqwerty112, я бы выбрал 2 пункт. на свободном/отвязанном рекордсете

как это сделать можно? если можно примером, я уже перепробовал 1.000.000 комбинаций. не получается.

закидываю на форму подчинённую форму, что в источнике данных писать? Или какой запрос?
"прекрасный" "взрослый" выбор !

вообщем в этом пункте - 2-а варианта

отвязанный рекордсет
- подчинённая форма - без источника
- контролы подч.формы - с заданными контролсоурсами (или задаются/снимаются программно)
- открываеш в коде АДО-рекордсет с : клиентским курсором, статик, батчоптимистик
- отключаеш рекордсет - рс.АктивКоннекшен = Нафинг
- присваеваеш рекордсету формы этот рекордсет

свободный рекордсет
- подчинённая форма - без источника
- контролы подч.формы - с заданными контролсоурсами (или задаются/снимаются программно)
- создаёш АДО-рекордсет, создаеш поля для него, открываеш (без источника), заполняеш нужными данными (из другого рекордсета, например)
- присваеваеш рекордсету формы этот рекордсет

зы
"о грустном" - ни в 1-ом, ни во 2-ом случае - нет возможности, потом, сохранить изменения "гамузом"
нужно будет "пробежатся" по рекордсету подч.формы, и внести изменения программно

ззы
у формы на свободном рекордсете (как минимум в А2003) - есть "чудная" особенность,
"гасить" Акцесс, если вдруг пользователь решит "по-фильтровать/по-сортировать" чё-нибудь "стандартными" фильтром/сортировкой

зззы
Опять отвязаный рекордсет
Форма на отсоединенном рекордсете - как запихнуть изменения в базу?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841501
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эта тожэ /topic/728489
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841683
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал всё, привязал...

тут я не могу понять, что за фигня, не могу добавить запись в форме, точнее даже так:

-генерится рекордсет
-привязывается к форме
-при загрузке формы в таблице одна запись
-делаю новую запись - возникает событие Form_BeforeInsert, там делаю
rst.AddNew
rst.UpdateBatch
-запись в таблицу добавляется

Потом хочу ещё одну запись добавить и гоголь - выкидывает ошибку, мол
Run-time error '2448':
Невозможно присвоить значение объекту
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841725
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktor zelenin,

дык, показуй (в мдб)
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841772
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112, выкладываю
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37841960
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktor zeleninqwerty112, выкладываю
нуу, такой "бубен"
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Form_AfterUpdate()
    Me.Recordset.UpdateBatch
    Set Me.Recordset = rst
End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.Recordset.AddNew
End Sub


вроде бы "лечит"

-------
а почему не "отвязанным рекордсетом" ?
имхо, было бы проще
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37842017
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112,
кажется работает, да. уже по концовке и сам к этому же пришёл.

qwerty112а почему не "отвязанным рекордсетом" ?
имхо, было бы проще

я честно говоря так и не понял как его сделать
по инструкции вроде бы полная ясность, а на деле не завелось, наверное поэтому и отмёл этот вариант.
но был бы рад взглянуть на работоспособный вариант.
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37842030
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktor zeleninя честно говоря так и не понял как его сделать
по инструкции вроде бы полная ясность, а на деле не завелось, наверное поэтому и отмёл этот вариант.
но был бы рад взглянуть на работоспособный вариант.
дык, по ссылкам, в тех топиках - там как раз только об отвязанных рекордсетах речь ...

вообщем, вот,
см.форму F
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37842077
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112, ооо, кул!

вот это тема, реально намного проще... даже не верится.
только тогда последний вопрос, если мне нужно наполнить иногда данными из какого-то источника(например, из другого rs),
можно сабформу наполнить динамически?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37842149
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получение формы на отвязном рекордсете копированием данных из нормальной баунд формы.
НО!
У меня формы адошные, из адп. Под мдб - подпилите напильником.
Код: vbnet
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
    Dim rs1 As ADODB.Recordset
    Set rs1 = Me.grData.Form.Recordset
    
    Dim rs2 As ADODB.Recordset
    Set rs2 = New Recordset
    
    Dim fld As ADODB.field
    For Each fld In rs1.Fields
        '    adChar         129 Indicates a string value (DBTYPE_STR).
        '    adWChar        130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR).
        '    adVarChar      200 Indicates a string value.
        '    adVarWChar     202 Indicates a null-terminated Unicode character string.
        '    adLongVarChar  201 Indicates a long string value.
        '    adLongVarWChar 203 Indicates a long null-terminated Unicode string value.
        Select Case fld.TYPE
        Case adChar, adWChar, adVarChar, adVarWChar, adLongVarChar, adLongVarWChar
            rs2.Fields.Append fld.Name, fld.TYPE, fld.DefinedSize, adFldIsNullable
        Case Else
            ' Использование жесткой дисциплины именования полей
            ' не надо лезть куда-то еще за типом поля
            If Left(fld.Name, 1) = "i" Then
                rs2.Fields.Append fld.Name, adInteger, , adFldIsNullable
            ElseIf Left(fld.Name, 1) = "n" Then
                rs2.Fields.Append fld.Name, adInteger, , adFldIsNullable
            ElseIf Left(fld.Name, 2) = "dt" Then
                rs2.Fields.Append fld.Name, adDate, , adFldIsNullable
            ElseIf Left(fld.Name, 2) = "db" Then
                rs2.Fields.Append fld.Name, adDouble, , adFldIsNullable
            ElseIf Left(fld.Name, 2) = "mn" Then
                rs2.Fields.Append fld.Name, adCurrency, , adFldIsNullable
            Else
                rs2.Fields.Append fld.Name, fld.TYPE, fld.DefinedSize, adFldIsNullable
            End If
        End Select
    Next fld
    
    rs2.Open
    If Not rs1.BOF Or Not rs1.EOF Then
        rs1.MoveFirst
        While Not rs1.EOF
            rs2.AddNew
            For Each fld In rs1.Fields
                rs2.Fields(fld.Name).VALUE = fld.VALUE
            Next fld
            rs2.UpdateBatch
        rs1.MoveNext
        Wend
    End If
    
    Set Me.grData.Form.Recordset = rs2
    Me.grData.Form.AllowEdits = True
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37842529
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-Любитель, благодарю. я правда немного не то имел ввиду, хотя возможно эта схема подойдёт, когда надо будет сравнить два рекордсета.

но в общем, решается просто, открывается рекордсет с тем запросом, который нужен, а потом отвязывается от коннекшна и всё, можно вбивать данные сколько хочешь.
отдельное спасибо qwerty112 , за интересный материал.
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37843450
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну да, немного поторопился, если делать селект с джойном, то мой вариант не прокатывает. отказываются вкидываться данные.

а какая обратная операция
rs.Fields.Append?

мне нужно удалить из рекордсета определённую запись
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37843459
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашёл:
rs.delete 1
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37845243
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viktor zelenin,

Офигенный топик и примеры. К себе на полку в первые ряды , many many thanks!!!
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37845304
Guest33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторну да, немного поторопился, если делать селект с джойном, то мой вариант не прокатывает
А так?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37845470
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guest33, Damn it!
Как вы это только вытворяете...
Виртуозы рекордсетов!
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37851268
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чёрт побери, а как теперь пройтись по всем записям таблицы?
как узнать сколько и чего добавлено?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37851349
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие на хрен, талицы ? Мы ж за отвязные рекодсеты боролись!

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Цикл по "старому" рекордсету, или по исходной таблицы
Для каждой записи 
   если ее нет в "новом" рекодсете, куда наредактировали записи (т.е. она удалена)
   то удалить запись в "старом" рекордсете

Цикл по "новому" рекордсету
Для каждой записи 
   если запись есть в "старом" рекордсете
   то обновить ее данные по данным новой
   иначе добавить запись
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37851451
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-Любитель,

да неважно как, я не не понимаю как пройтись по таблице или по отвязанному рекордсету.
к рекордсету не применяется перебор fld, потому что он закрыт.
и у таблицы не могу пересчитать записи. т.к. у её нет источника.
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37851455
viktor zelenin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос в том, как подобраться к контейнеру, где содержатся записи и пересчитать его.
неважно, к чему присоединятся, к отвязанному рекордсету, или к динамической таблице.
я ни к чему не могу добраться просто...
мои динамически введённые данные же хранятся гдето. а вот где?
...
Рейтинг: 0 / 0
Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
    #37851469
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viktor zelenin,

Вы, батенька, какую-то муйню несете. Сами отвязные рекордсеты организовывете - стало быть "старые" данные у вас есть. Рекордсета, где данные правятся пользователем, не может не быть.

При всем при том не факт, что вашу задачу ваапще надо таким трюком делать. Баунд формы в аксесе - наше ффсе, говнокод не нужен.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли подчинённую форму наполнить динамически, не внося никаких данных в таблицу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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