powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как перенести данные из формы в таблицу
54 сообщений из 54, показаны все 3 страниц
Как перенести данные из формы в таблицу
    #39207051
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, столкнулся с проблемой, то не могу понять как перенести данные из формы в таблицу в БД, ибо стандартной функции в Access для этого не предусмотрено..
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207070
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Retvisanстандартной функции в Access для этого не предусмотрено..Стандартно для Access - сделать таблицу/запрос источником данных (свойство формы RecordSource ) для формы. При таком раскладе данные сами попадают по месту назначения. Ну, а если креакл хочет иного (Месье знает толк в извращениях! ©), то он сам отвечает за механизм переноса данных, например запросом (INSERT INTO ... VALUES ...) или заполнением Recordset. Но уже всё сам.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207086
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\,

я не хочу сделать форму по данным, мне нужно создать таблицу в БД, согласно данным из формы, которые отфильтрованы
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207093
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Retvisanя не хочу сделать форму по данным, мне нужно создать таблицу в БД, согласно данным из формы, которые отфильтрованыЧто? Прямо таки каждый раз новую таблицу? Ну если каждый раз новую таблицу (я с трудом представляю зачем!) используй запрос (SELECT ... INTO ...) по таблице и фильтром формы.
Существуют конечно и другие способы, но все они несколько сложнее...

Может сделать руками одну таблицу , а потом очищать и заполнять её? Механизм предложен заполнения выше
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207098
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan\\\\,

я не хочу сделать форму по данным, мне нужно создать таблицу в БД, согласно данным из формы, которые отфильтрованы
Бред
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207125
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\,

да, таблица всегда будет одна, буду ее очищать перед запросом.
Т.е. мой запрос должен выглядеть примерно так:
Код: plsql
1.
INSERT INTO "MYTABLE" SELECT Me.forms.punkt FROM Form 


Так? или я что-то путаю?
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207131
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207137
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanя не хочу сделать форму по данным, мне нужно создать таблицу в БД, согласно данным из формы, которые отфильтрованы

Хотя наверное не так... (похоже вы не можете толком сформулировать задачу)...
Если в форме уже есть данные и они отфильтрованы, то скорее всего у формы источник данных таблица или запрос, вот этот источник данных (его содержимое) и нужно писать в результирующую таблицу, форма тут так - для посмотреть, что это именно те данные и кнопку нажать...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207144
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,

цель такова:есть форма, в ней есть фильтры, в ней я выбираю фильтры. Таким образом у меня получается набор данных, я хочу этот отфильтрованный набор данных перенести в таблицу в БД(заранее сделанную).
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207150
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanvmag,

цель такова:есть форма, в ней есть фильтры, в ней я выбираю фильтры. Таким образом у меня получается набор данных, я хочу этот отфильтрованный набор данных перенести в таблицу в БД(заранее сделанную).
Ух ты даже таблицу заранее сделал.
Ну а дальше есче одна таблица.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207157
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,
как-то непонятно, что Вы имели ввиду)
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207165
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RetvisanROI,
как-то непонятно, что Вы имели ввиду)
Имею в виду то, что для следующего набора отфильтрованных данных есче одну таблицу добавите?
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207179
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Кнопка7_Click()
DoCmd.RunSQL "insert into t1 (p1,p2) values ('" & Me.p1 & "'," & CStr(Me.p2) & ")"
Me.Controls("f1_").Requery
p1 = ""
p2 = ""
End Sub
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207181
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, недочистил
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Кнопка7_Click()
DoCmd.RunSQL "insert into t1 (p1,p2) values ('" & Me.p1 & "'," & Me.p2 & ")"
Me.Controls("f1_").Requery
p1 = ""
p2 = ""
End Sub
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207182
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,

нет, я очищу имеющуюся)
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207183
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

да, точно, идеально подходит, спасибо!
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207185
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan\\\\,

да, таблица всегда будет одна, буду ее очищать перед запросом.
Т.е. мой запрос должен выглядеть примерно так:
Код: plsql
1.
INSERT INTO "MYTABLE" SELECT Me.forms.punkt FROM Form 


Так? или я что-то путаю?Не совсем. Как-то так (в коде)...
Код: vbnet
1.
2.
3.
4.
5.
 Dim strSQL as string
... 
strSQL="INSERT INTO ТаблицаЦель SELECT ТаблицаИсточник.*  FROM ТаблицаИсточник WHERE " & Me.punkt.Filter
CurrentDb.Execute strSQL, dbFailOnError
...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207190
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanидеально подходит
PS. На самом деле такой код в конечном продукте от профессионального программиста - весомое основание усомниться в его профпригодности.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207200
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

я не профессиональный программист) к сожалению... просто надо, мне главное, чтобы работало и было предельно просто
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207210
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RetvisanAkina,

я не профессиональный программист) к сожалению... просто надо, мне главное, чтобы работало и было предельно просто
Это с какого перепугу не профессиональный программист- создаст что-то быстрое и предельно простое.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207224
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,

я не сказал быстрое)) простое для меня)
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207252
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
я не совсем понял, как применить общий фильтр, который содержится в форме
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub KL_data_Click()
Call FilterForm
'вызываю процедуру содежащую общий фильтр

Dim strFilter As String
'мой общий фильтр

Dim strSQL As String

strSQL = "INSERT INTO ТаблицаЦель SELECT ТаблицаИсточник.p1, ТаблицаИсточник.p1 FROM ТаблицаИсточник WHERE " & Me.p1.strFilter

CurrentDb.Execute strSQL, dbFailOnError

End Sub
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207276
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan, для начала поясни, форма у тебя содержит источник? Если применяются фильтры, то скорее всего - да.
Если да, то попробуй запустить по кнопке KL_data этот код

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub KL_data_Click()
Dim strSQL As String

strSQL = Left(Me.RecordSource, Len(Me.RecordSource)-1) & " WHERE " & Me.strFilter

Debug.Print strSQL 
End Sub


В окне Immediate (это окошечко в редакторе VBA, если нет, то включи в меню там же) появится строка. Скопируй её и попробуй выполнить в конструкторе запросов. Если всё норм и ты увидишь требуемый результат, то код можно поправить до приведённого выше .
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207369
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

форма у меня ленточная, я прописал следующий код для вставки данных из формы:

Код: sql
1.
2.
INSERT INTO KL ( punkt, Opisanie )
SELECT Forms!DlyaKL!punkt AS Выражение1, Forms!DlyaKL!Opisanie AS Выражение2;



но получается так, что этот запрос вставляет только одну запись из ленточной формы. Поэтому появилась идея узнать сколько записей в форме, и затем счетчиком пройтись по ним и вставить в таблицу по одной

Код: vbnet
1.
2.
3.
4.
5.
6.
DoCmd.GoToRecord acDataForm, "DlyaKL", acFirst

'тут начнется счеткчик
DoCmd.GoToRecord acDataForm, "Import", acNext
G = G + 1
Loop



но для этого я должен узнать сколько записей у меня в отфильтрованной форме
Как это сделать?
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207374
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

щас попробую ваш код

поправочка
выше не Import а DlyaKL
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207377
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan, почему ты не следуешь советам, если их испрашиваешь? Отсебятину ты можешь писать и без форума.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207379
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

у меня содержится общий фильтр для всех элементов фильтрации формы, вот пример

Код: 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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
Private Sub FilterForm()

Dim strFilter As String
Dim s As String
Dim s1 As String
Dim s2 As String
Dim s3 As String
Dim s4 As String
Dim s5 As String
Dim s6 As String
Dim vag1 As String
Dim vag2 As String
Dim vag3 As String
Dim vag4 As String
Dim vag5 As String
Dim vag6 As String
Dim vag7 As String
Dim vag8 As String
Dim vag9 As String
Dim vag10 As String
Dim tip As String


    strFilter = "True"
    
     
    If Form.Recordset.EOF Then Me.FilterOn = False
    Form.Dirty = False
    
    
    If Not IsNull(LVybor) Then strFilter = strFilter & " AND [L]=""" & LVybor & """"
    If Not IsNull(NVybor) Then strFilter = strFilter & " AND [N]=""" & NVybor & """"
    If Not IsNull(IS510Vybor) Then strFilter = strFilter & " AND [IS510]=""" & IS510Vybor & """"
    If Not IsNull(IS520Vybor) Then strFilter = strFilter & " AND [IS520]=""" & IS520Vybor & """"
    If Not IsNull(IS530Vybor) Then strFilter = strFilter & " AND [IS530]=""" & IS530Vybor & """"
    If Not IsNull(R1Vybor) Then strFilter = strFilter & " AND [R1]=""" & R1Vybor & """"
    If Not IsNull(R2Vybor) Then strFilter = strFilter & " AND [R2]=""" & R2Vybor & """"
    If Not IsNull(R3Vybor) Then strFilter = strFilter & " AND [R3]=""" & R3Vybor & """"
    If Not IsNull(R4Vybor) Then strFilter = strFilter & " AND [R4]=""" & R4Vybor & """"
    If Not IsNull(R5Vybor) Then strFilter = strFilter & " AND [R5]=""" & R5Vybor & """"
    If Not IsNull(VneplanVybor) Then strFilter = strFilter & " AND [vneplan]=""" & VneplanVybor & """"

   
    
     If Not Napr_all And _
       Not (Napr_no And Napr_yes And Napr_case) And _
       Not (Not Napr_no And Not Napr_yes And Not Napr_case) Then
     s = " AND  (False"
     If Napr_no Then s = s & " OR ([kVili25kV]=""ÍÅÒ"")"
     If Napr_yes Then s = s & " OR ([kVili25kV]=""ÄÀ"")"
     If Napr_case Then s = s & " OR ([kVili25kV] Is Null)"
     s = s & ")"
    End If

    strFilter = strFilter & s

     If Not Bereg_all And _
       Not (Bereg_no And Bereg_yes And Bereg_case) And _
       Not (Not Bereg_no And Not Bereg_yes And Not Bereg_case) Then
     s1 = " AND  (False"
     If Bereg_no Then s1 = s1 & " OR ([Beregpit_380V]=""ÍÅÒ"")"
     If Bereg_yes Then s1 = s1 & " OR ([Beregpit_380V]=""ÄÀ"")"
     If Bereg_case Then s1 = s1 & " OR ([Beregpit_380V] Is Null)"
     
     s1 = s1 & ")"
    End If
    
    strFilter = strFilter & s1

    
    If Not akum_all And _
       Not (akum_no And akum_yes And akum_case) And _
       Not (Not akum_no And Not akum_yes And Not akum_case) Then
     s2 = " AND  (False"
     
     If akum_no Then s2 = s2 & " OR ([Bortnapr_110V]=""ÍÅÒ"")"
     If akum_yes Then s2 = s2 & " OR ([Bortnapr_110V]=""ÄÀ"")"
     If akum_case Then s2 = s2 & " OR ([Bortnapr_110V] Is Null)"
     s2 = s2 & ")"
    End If
    
    strFilter = strFilter & s2
    
    If Not obes_all And _
       Not (obes_no And obes_yes And obes_case) And _
       Not (Not obes_no And Not obes_yes And Not obes_case) Then
     s3 = " AND  (False"
     If obes_no Then s3 = s3 & " OR ([Obestochen_poezd]=""ÍÅÒ"")"
     If obes_yes Then s3 = s3 & " OR ([Obestochen_poezd]=""ÄÀ"")"
     If obes_case Then s3 = s3 & " OR ([Obestochen_poezd] Is Null)"
     
     s3 = s3 & ")"
    End If
    
    strFilter = strFilter & s3
    
     If Not zazem_all And _
       Not (zazem_no And zazem_yes And zazem_case) And _
       Not (Not zazem_no And Not zazem_yes And Not zazem_case) Then
     s4 = " AND  (False"
     If zazem_no Then s4 = s4 & " OR ([Zazemlen]=""ÍÅÒ"")"
     If zazem_yes Then s4 = s4 & " OR ([Zazemlen]=""ÄÀ"")"
     If zazem_case Then s4 = s4 & " OR ([Zazemlen] Is Null)"
     
     s4 = s4 & ")"
    End If
    
    strFilter = strFilter & s4
    
    If Not nm_all And _
       Not (nm_no And nm_yes And nm_case) And _
       Not (Not nm_no And Not nm_yes And Not nm_case) Then
     s5 = " AND  (False"
     If nm_no Then s5 = s5 & " OR ([Davleniev_HM]=""ÍÅÒ"")"
     If nm_yes Then s5 = s5 & " OR ([Davleniev_HM]=""ÄÀ"")"
     If nm_case Then s5 = s5 & " OR ([Davleniev_HM] Is Null)"
     
     s5 = s5 & ")"
    End If
    
    strFilter = strFilter & s5
    
    If Not tm_all And _
       Not (tm_no And tm_yes And tm_case) And _
       Not (Not tm_no And Not tm_yes And Not tm_case) Then
     s6 = " AND  (False"
     If tm_no Then s6 = s6 & " OR ([Davleniev_TM]=""ÍÅÒ"")"
     If tm_yes Then s6 = s6 & " OR ([Davleniev_TM]=""ÄÀ"")"
     If tm_case Then s6 = s6 & " OR ([Davleniev_TM] Is Null)"
     
     s6 = s6 & ")"
    End If
    
    strFilter = strFilter & s6
    
    
    
    
    With Me
    
         If (.V1 = 1) Then
            vag1 = vag1 & " and [vagon01] not like 0"
        End If
        If (.V1 = 2) Then
            vag1 = vag1 & " and [vagon01] like 0"
        End If
        If (.V1 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag1
    
    With Me
    
         If (.V2 = 1) Then
            vag2 = vag2 & " and [vagon02] not like 0"
        End If
        If (.V2 = 2) Then
            vag2 = vag2 & " and [vagon02] like 0"
        End If
        If (.V2 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag2
    
    With Me
    
         If (.V3 = 1) Then
            vag3 = vag3 & " and [vagon03] not like 0"
        End If
        If (.V3 = 2) Then
            vag3 = vag3 & " and [vagon03] like 0"
        End If
        If (.V3 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag3
    
    With Me
    
         If (.V4 = 1) Then
            vag4 = vag4 & " and [vagon04] not like 0"
        End If
        If (.V4 = 2) Then
            vag4 = vag4 & " and [vagon04] like 0"
        End If
        If (.V4 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag4
    
     With Me
    
         If (.V5 = 1) Then
            vag5 = vag5 & " and [vagon05] not like 0"
        End If
        If (.V5 = 2) Then
            vag5 = vag5 & " and [vagon05] like 0"
        End If
        If (.V5 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag5
    
    With Me
    
         If (.V6 = 1) Then
            vag6 = vag6 & " and [vagon06] not like 0"
        End If
        If (.V6 = 2) Then
            vag6 = vag6 & " and [vagon06] like 0"
        End If
        If (.V6 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag6
    
    With Me
    
         If (.V7 = 1) Then
            vag7 = vag7 & " and [vagon07] not like 0"
        End If
        If (.V7 = 2) Then
            vag7 = vag7 & " and [vagon07] like 0"
        End If
        If (.V7 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag7
    
    With Me
    
         If (.V8 = 1) Then
            vag8 = vag8 & " and [vagon08] not like 0"
        End If
        If (.V8 = 2) Then
            vag8 = vag8 & " and [vagon08] like 0"
        End If
        If (.V8 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag8
    
    With Me
    
         If (.V9 = 1) Then
            vag9 = vag9 & " and [vagon09] not like 0"
        End If
        If (.V9 = 2) Then
            vag9 = vag9 & " and [vagon09] like 0"
        End If
        If (.V9 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag9
    
     With Me
    
         If (.V10 = 1) Then
            vag10 = vag10 & " and [vagon10] not like 0"
        End If
        If (.V10 = 2) Then
            vag10 = vag10 & " and [vagon10] like 0"
        End If
        If (.V10 = 3) Then
            
                End If
    End With
    
    strFilter = strFilter & vag10
    
    With Me
 
        If (.vybor_tip = 1) Then
            tip = tip & " and [Tip_Poezda] Like ""B1"""
        End If
        If (.vybor_tip = 2) Then
            tip = tip & " and [Tip_Poezda] Like ""B2"""
        End If
        If (.vybor_tip = 3) Then
            tip = tip & " and [Tip_Poezda] Like ""B1 è B2"""
        End If
                
    End With
    
    strFilter = strFilter & tip
    
    'Debug.Print "strFilter=""" & strFilter & """"
    'Debug.Print "s=""" & s & """"
    


    
    
    Me.Filter = strFilter
    Me.FilterOn = True
 
 
    
    
End Sub

...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207386
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

последний код, предложенный Вами не работает, выдает ошибку
"Method or data member not found"
и указывает на strFilter
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207402
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan, ну да, не доглядел
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub KL_data_Click()
Dim strSQL As String

strSQL = Left(Me.RecordSource, Len(Me.RecordSource)-1) & " WHERE " & Me.Filter

Debug.Print strSQL 
End Sub
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207444
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

В окне immediate видно только where((
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207483
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207524
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
какой-то замкнутый круг-повторно сохранить данные которые уже есть в БД,а затем просмотреть, в опять же форме или отчете (т.к допускать юзера к таблице это нонсенс). Ну и занахрена левой рукой доставать правое ухо через голову?
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207569
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

это блин необходимость, мне нужно отфильтрованные данные еще раз отфильтровать, мне казалось, что отфильтрованные данные из формы легко перенести в таблицу
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207574
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

не могли бы вы объяснить, что содержится в этой строчке?
Код: vbnet
1.
strSQL = Left(Me.RecordSource, InStr(1, Me.RecordSource, ";") - 1) & " WHERE " & Me.Filter



просто не могу понять где в где происходит выбор тех или иных полей из ленточной формы...((
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207622
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так. добавлять надо только непустой фильтр
Код: vbnet
1.
2.
3.
4.
5.
if Me.p1.strFilter <> "" then
strSQL = "INSERT INTO ТаблицаЦель SELECT ТаблицаИсточник.p1, ТаблицаИсточник.p1 FROM ТаблицаИсточник WHERE " & Me.p1.strFilter
else
strSQL = "INSERT INTO ТаблицаЦель SELECT ТаблицаИсточник.p1, ТаблицаИсточник.p1 FROM ТаблицаИсточник
end if
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207629
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Baskakov,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub KL_data_Click()


Dim strSQL As String

    If Len(Me.Filter) > 0 And Me.FilterOn Then
        CurrentDb.Execute "DELETE FROM KL;"
        strSQL = "INSERT INTO KL SELECT Operation.punkt FROM Operation WHERE " & Me.punkt[color=red].Filter
[/color]
        CurrentDb.Execute strSQL, dbFailOnError
        DoCmd.OpenTable "KL"
    Else
       MsgBox "Фильтр не включен!"
    End If



ошибка, пишет Method or data member not found, даже если strFilter
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207662
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если попроще:
18996290
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207671
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

не то( там же нет выгрузки данных из формы в таблицу
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207673
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanошибка, пишет Method or data member not found, даже если strFilter
Выведите в лог текст оператора Insert который уходит в DoCmd и попробуйте выполнить его прямо в аксесе, или приложить тут.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207679
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan\\\\,

да, таблица всегда будет одна, буду ее очищать перед запросом.
Т.е. мой запрос должен выглядеть примерно так:
Код: plsql
1.
INSERT INTO "MYTABLE" SELECT Me.forms.punkt FROM Form 



и сколько записей за 1 раз будет вставляться(промерно) 1-10-100-100-17000
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207687
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanмне казалось, что отфильтрованные данные из формы легко перенести в таблицуДанные хранятся не в форме, а в таблицах.
Форма – средство визуализации, доступа к данным.
Говорить о "переносе данных из формы в таблицу" можно лишь в случае unbound-формы, и запись при этом будет одна.
В данном же случае будет копирование записей из источника данных формы с учетом фильтра.
Вот поэтому Панург предлагает 19013890 RetvisanПанург,
не могли бы вы объяснить, что содержится в этой строчке?
Код: vbnet
1.
strSQL = Left(Me.RecordSource, InStr(1, Me.RecordSource, ";") - 1) & " WHERE " & Me.Filter

просто не могу понять где в где происходит выбор тех или иных полей из ленточной формы...((Me.RecordSource – источник данных формы
InStr(1, Me.RecordSource, ";") – позиция ";"
Left(Me.RecordSource, InStr(1, Me.RecordSource, ";") - 1) – текст запроса-источника данных формы без ";"
" WHERE " & Me.Filter – добавление условия фильтрации.

Но если нужно перенести выборочные поля, то тогда
Код: vbnet
1.
2.
3.
CurrentDb.Execute "INSERT INTO <таблица> " &  _
                  "SELECT <список полей> FROM (" & 
                  Replace(Me.RecordSource, ";", "") & ") AS Q WHERE " & Me.Filter
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207694
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда можно просто бегать по рекорд-сетам и по одной записи добавлять....


Код: 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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
Public Sub Fill_Table_OraQuery(p_table As String, p_conn As ADODB.Connection, p_sql As String)
  ' дольем таблицу аксеса из ораклового запроса, без очистки
  
  ' выполним запрос
  Dim rs As ADODB.Recordset
  Set rs = p_conn.Execute(p_sql)

  Dim mydb As Database
  Set mydb = Application.CurrentDb
  ' откроем финальную таблицу для записи
   Dim dst_rs As DAO.Recordset
   Set dst_rs = mydb.OpenRecordset(p_table, dbOpenDynaset)


   Dim fnames As Variant
   Dim fld_count As Integer
   fld_count = rs.Fields.Count
      
   ' Создаем список полей
   Dim srcFlds(1 To 100) As ADODB.Field
   Dim dstFlds(1 To 100) As DAO.Field
   Dim i As Integer
   
   For i = 1 To fld_count
     Set srcFlds(i) = rs.Fields(i - 1)
     Set dstFlds(i) = dst_rs.Fields(rs.Fields(i - 1).Name)
   Next

   ' в цикле по набору вставляем записи
   While Not rs.EOF
    dst_rs.AddNew
    For i = 1 To fld_count
      dstFlds(i).Value = srcFlds(i).Value
    Next
    dst_rs.Update
    rs.MoveNext
   Wend

   ' закроем все открытое
   dst_rs.Close
   Set dst_rs = Nothing
   rs.Close
   Set rs = Nothing
   Set mydb = Nothing
End Sub



Public Sub Fill_Table_AccessQuery(p_table As String, p_sql As String)
  ' дольем таблицу аксеса из ораклового запроса, без очистки
  
  Dim mydb As Database
  Set mydb = Application.CurrentDb
  ' выполним запрос
  Dim rs As DAO.Recordset
 
  Set rs = mydb.OpenRecordset(p_sql)

  ' откроем финальную таблицу для записи
   Dim dst_rs As DAO.Recordset
   Set dst_rs = mydb.OpenRecordset(p_table, dbOpenDynaset)


   Dim fnames As Variant
   Dim fld_count As Integer
   fld_count = rs.Fields.Count
      
   ' Создаем список полей
   Dim srcFlds(1 To 100) As DAO.Field
   Dim dstFlds(1 To 100) As DAO.Field
   Dim i As Integer
   
   For i = 1 To fld_count
     Set srcFlds(i) = rs.Fields(i - 1)
     Set dstFlds(i) = dst_rs.Fields(rs.Fields(i - 1).Name)
   Next

   ' в цикле по набору вставляем записи
   While Not rs.EOF
    dst_rs.AddNew
    For i = 1 To fld_count
      dstFlds(i).Value = srcFlds(i).Value
    Next
    dst_rs.Update
    rs.MoveNext
   Wend

   ' закроем все открытое
   dst_rs.Close
   Set dst_rs = Nothing
   rs.Close
   Set rs = Nothing
   Set mydb = Nothing
End Sub

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

не могли бы вы объяснить, что содержится в этой строчке?
Код: vbnet
1.
strSQL = Left(Me.RecordSource, InStr(1, Me.RecordSource, ";") - 1) & " WHERE " & Me.Filter



просто не могу понять где в где происходит выбор тех или иных полей из ленточной формы...(( Тут получаем строку описывающую источник записей (строка SQL), отрезаем точку с запятой (;) и если есть чего дальше (вроде ничего не должно быть, но могут быть пробелы), далее "пришиваем" к ней фильтр от формы. Там заремлено Debug.Print , убери ковычку, напечатает строку запроса.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207699
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov, вот занафига такие портянки не в спойлере давать? Любуешься?
Да ещё и разные технологии работы с данными в одной процедуре мешать...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207705
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisansdku,

не то( там же нет выгрузки данных из формы в таблицуRetvisan..... чтобы работало и было предельно простоВ двух таблицах одни и те же данные (если нарушать правила "базостроения",маловероятно "чтобы оно работало")
Так зачем же их хранить, ведь они уже ЕСТЬ в БД (это равносильно хранению результатов каждого запуска запроса с параметрами)
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207707
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, кто сказал, что ТС собирается их хранить? Иногда удобней/быстрей производить дальнейшую обработку данных из таблицы с временными данными...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207730
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Private Sub Command818_Click()

CurrentDb.Execute "INSERT INTO KL " & ""
"SELECT punkt FROM Opisanie
Replace(Me.RecordSource, ";", "") & ") AS Q WHERE " & Me.Filter


End Sub

так? целый день уже парюсь как-то плохо инфа воспринимается
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207756
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan, чтобы не парится целый день (тем более если есть проблемы с пониманием), нужно выкладывать, либо саму БД (можно урезанный вариант с "проблемной" частью), либо пример наиболее полно отображающий исходные данные. Конкретно на нем тебе и покажут решение. А на пальцах...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207762
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan__Michelle,

Код: vbnet
1.
2.
3.
4.
5.
Private Sub Command818_Click()
CurrentDb.Execute "INSERT INTO KL " & ""
                  "SELECT punkt FROM Opisanie
                  Replace(Me.RecordSource, ";", "") & ") AS Q WHERE " & Me.Filter
End Sub



так? целый день уже парюсь как-то плохо инфа воспринимаетсяВ данном коде ты можешь написать вручную строку запроса. Она, скорее всего, у тебя будет "железобетонной", без вариантов...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207767
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

https://cloud.mail.ru/public/MSsK/UMV8mzvc8

как-то так...
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207769
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургVladimir Baskakov, вот занафига такие портянки не в спойлере давать? Любуешься?
Да ещё и разные технологии работы с данными в одной процедуре мешать...
за портянки извинения прошу,

а дао с адо мешал потому, что дао к ораклу у меня не было, а адо в акс почему-то не вставило. может я его неправильно использовал, нынче не скажу уже, это трехлетней давности - не упомню уже, почему так. хотелось однотипно, да не вышло.

где то валялся код, в котором подготавливается оператор INSERT
как тут,
https://technet.microsoft.com/en-us/library/aa905910(v=sql.80).aspx
потом для каждой строчки биндятся переменные и исполняется, но вроде оно помедленнее немного работало.
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207772
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
Разве было так?
Зачем одновременно и некое появившееся Opisanie и Me.RecordSource?
И кавычка с амперсандом куда делись? А это, & "", что вместо символа продолжения?
Код: vbnet
1.
2.
3.
CurrentDb.Execute "INSERT INTO KL " & ""
                  "SELECT punkt FROM Opisanie
                  Replace(Me.RecordSource, ";", "") & ") AS Q WHERE " & Me.Filter

Тяжкий случай.)))
Попробуйте
Код: vbnet
1.
2.
3.
CurrentDb.Execute "INSERT INTO KL " & _
                  "SELECT punkt FROM (" & _
                  Replace(Me.RecordSource, ";", "") & ") AS Q WHERE " & Me.Filter
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207780
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

спасибо! огромное! наконец все получилось, по чуть-чуть учусь VBA)
...
Рейтинг: 0 / 0
Как перенести данные из формы в таблицу
    #39207782
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Retvisan,

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


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