Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
1

Из поле со списком в запрос

28.12.2011, 23:51. Показов 2441. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят такой вопрос: у меня есть на форме поле со списком в котором выбирается какое то значение. Так вот это значение я хочу запихнуть в 3 таблицы.
Так вопрос состоит в том что бы как это значение "Поле со списком" перенести в sql запрос на добавление?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2011, 23:51
Ответы с готовыми решениями:

поле со списком в запрос
Ребята нужна помощь есть две таблици CREATE TABLE IF NOT EXISTS `table1` ( `k_obl`...

Поле со списком источник запрос (+)
в запросе выбирается два поля ключевое и тесктовое. так вот при изменение в форме в таблицу...

Запрос на текст в поле со списком таблицы
Всем привет! Очень нужно решить вопрос! Имеется: Таблица. В ней поле со списком. В этом поле...

Вывод записей в поле со списком в зависимости от другого поля со списком
Уважаемые асы access, помогите пожалуйста! Сразу хочу признаться, я совсем чайник, только...

12
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 00:34 2
Можно так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub dobavitVtablicu_1()
 
    Dim rstCurr As DAO.Recordset
    Dim dbsCurr As Database
    Set dbsCurr = Access.CurrentDb
    Set rstCurr = dbsCurr.OpenRecordset("tvoya_tablica_1", dbOpenDynaset)
    
    Me!ПолеСоСписком1.SetFocus
    rstCurr.Fields("pole_tablici_1").Value = Me!ПолеСоСписком1.Text
    
    rstCurr.Update
    rstCurr.Close
    Set rstCurr = Nothing
    
End Sub
а можно через INSERT INTO
SQL
1
INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES (<Значение>,...)
Добавлено через 11 минут
может не совсем понял вопрос
если ты хочешь взять это значение в переменную а потом использовать в запросе
то
Visual Basic
1
2
3
4
5
6
Private Sub ПолеСоСписком1_AfterUpdate()
Dim f As String
If Not IsNull(Me![ПолеСоСписком1]) And (Me![ПолеСоСписком1] <> "") Then
    f = Me![ПолеСоСписком1]
End If
End Sub
и далее используй в запросе (не забудь о типе данных текст\число)

Добавлено через 2 минуты
блин, вместо Dim f As String надо глобальную переменную Public f As String
1
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 00:38  [ТС] 3
Спасибо большое)
Но мне надо как бы соеденить эти 2 кода)
Я хочу что б при нажатии кнопки, аксес брал мой текст ПолеСоСписком1 и вставлял в запрос Инсерт Инто.
Вот могу показать что я хочу только на делфи:
Delphi
1
2
3
4
5
6
7
8
9
10
If (edit2.text<>'')and(edit3.text<>'')and(edit4.text<>'')and(edit5.text<>'')and(edit6.text<>'')and(edit7.text<>'')and(edit8.text<>'')and(edit9.text<>'')and(edit10.text<>'')and(edit11.text<>'')and(edit12.text<>'')and(edit13.text<>'') then
begin
for i:=1 to strtoint(Edit2.text) do begin
  mmm.Active:=false;
  mmm.SQL.Clear;
  mmm.SQL.Add('INSERT INTO Билет  ( [Дата вылета], [Время вылета], [Дата прибытия], [Время прибытия], [Цена билета], [Место билета], [Класс билета], [Страна прибытия], [Город прибытия], [Аэропорт прибытия] )');
  mmm.SQL.Add('VALUES ('''+Edit5.Text+''','''+Edit6.Text+''','''+Edit7.Text+''','''+Edit8.Text+''','''+Edit9.Text+''','''+inttostr(i)+''','''+inttostr(1)+''','''+Edit12.Text+''','''+Edit13.Text+''','''+Edit14.Text+''')');
  mmm.ExecSQL;
  f:=f+1;
end;
Просто сказали курсак на Аксесе делать)
0
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 00:50 4
ну както так соедени
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Кнопка1_Click()
 
Me!ПолеСоСписком1.SetFocus
Dim f AS String
IF NOT IsNull(Me![ПолеСоСписком1]) AND (Me![ПолеСоСписком1] <> "") Then
    f = Me![ПолеСоСписком1]
Else
MsgBox "выберите значение"
Exit Sub
End IF
 
INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES f
 
End Sub
или опять же вмето INSERT INTO поставь рекордсет
Visual Basic
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
Private Sub Кнопка1_Click()
 
Me!ПолеСоСписком1.SetFocus
Dim f AS String
IF NOT IsNull(Me![ПолеСоСписком1]) AND (Me![ПолеСоСписком1] <> "") Then
    f = Me![ПолеСоСписком1]
Else
MsgBox "выберите значение"
Exit Sub
End IF
 
    Dim rstCurr AS DAO.Recordset
    Dim dbsCurr AS DATABASE
    SET dbsCurr = Access.CurrentDb
    SET rstCurr = dbsCurr.OpenRecordset("tvoya_tablica_1", dbOpenDynaset)
    
 
    rstCurr.FIELDS("pole_tablici_1").Value = f
    
    rstCurr.UPDATE
    rstCurr.Close
    SET rstCurr = Nothing
 
 
End Sub
Извини Делфи я незнаю
1
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 00:56  [ТС] 5
Большое человеческое спасибо!
Сечас пойду пробывать)
0
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 01:09 6
извини сплю уже наверно, еще поправка вместо одной строки (12) INSERT INTO..... надо чуть изменить
Visual Basic
1
2
3
Dim  strSQL As String
strSQL = "INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES f ;"
CurrentDb.Execute strSQL
как то так, если что завтра поправлю
0
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 01:11  [ТС] 7
Код
INSERT INTO <Êëèåíò-ýêñêóðñèÿ> ([<Øèôð ýêñêóðñèè>]) VALUES f
Ошибка :end of statement
неподскажешь что не так?
0
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 01:15 8
Visual Basic
1
2
3
Dim  strSQL AS String
strSQL = "INSERT INTO [Клиент-экскурсия].[Шифр экскурсии] VALUES " &  f & ";"
CurrentDb.Execute strSQL
а так?
1
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 01:28  [ТС] 9
Visual Basic
1
2
3
Dim strSQL As String
strSQL = "INSERT INTO 'Êëèåíò-ýêñêóðñèÿ' ([Øèôð ýêñêóðñèè]) VALUES f;"
CurrentDb.Execute strSQL
Делал как вы предложили, било ошибку Команды Инсерт Инто.Сделал так как я написал теперь пишет "неполное предложение запроса"
0
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 01:39 10
кстати вначале Вы говорили "запихнуть в 3 таблицы" тогда сделай так
Visual Basic
1
2
3
4
5
6
7
Dim  strSQL AS String
strSQL = "INSERT INTO [таблича1].[поле] VALUES " &  f & ";"
CurrentDb.Execute strSQL
strSQL = "INSERT INTO [таблича2].[поле] VALUES " &  f & ";"
CurrentDb.Execute strSQL
strSQL = "INSERT INTO [таблича3].[поле] VALUES " &  f & ";"
CurrentDb.Execute strSQL
может как-то можно одной строкой но я не знаю сам делаю так

Добавлено через 3 минуты
Цитата Сообщение от slame Посмотреть сообщение
"неполное предложение запроса"
смотрите внимательно неправильно кавычки скобки
Visual Basic
1
strSQL = "INSERT INTO [таблича1].[поле] VALUES " &  f & ";"
Добавлено через 7 минут
пишу по памяти, посмотреть некуда ничего под рукой нет,должно работать
ну если что может вместо [таблича1].[поле] попробуй так таблича1([поле])
1
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 01:44  [ТС] 11
Ну я пробую если для одного заработает, значит потмо сделаю для трёх )
Пока мучаюсь с самим запросом.Как бы я его не делал всеравно бьёт "неполное предложение запроса".
Вот добавил базу,если не сложно посмотри Форма1 Кнопка 7
Вложения
Тип файла: rar db1.rar (9.86 Мб, 33 просмотров)
0
14 / 14 / 1
Регистрация: 22.04.2011
Сообщений: 70
29.12.2011, 02:09 12
вот так работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Кнопка7_Click()
Me!ПолеСоСписком5.SetFocus
Dim f As String
If Not IsNull(Me![ПолеСоСписком5]) And (Me![ПолеСоСписком5] <> "") Then
    f = Me![ПолеСоСписком5]
Else
MsgBox "выберите значение"
Exit Sub
End If
 
Dim strSQL As String
strSQL = "INSERT INTO [Клиент-экскурсия]([Шифр экскурсии]) VALUES " & "('" & f & "');"
CurrentDb.Execute (strSQL)
 
End Sub
кстати не используйте в названиях полей пробелы, удивляюсь как оно вообще работает лучше символ "_", да и русский шрифт тоже нежелательно
1
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 12
29.12.2011, 02:52  [ТС] 13
Вы, можно сказать, спасли мой курсак )
Очень благодарен,Спасибо)
0
29.12.2011, 02:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2011, 02:52
Помогаю со студенческими работами здесь

Поле со списком в форме. В таблице - текст, а в поле загружаются цифры
Добрый день! Кто знает, подскажите пожалуйста. По форуму искал, что-то не нашел. Вообщем,...

Как подключить к объекту на форме - поле, поле со списком - календарь?
Как подключить к объекту на форме - поле, поле со списком - календарь?

Автоматически обновить поле в форме при добавлении нового значения в поле со списком
помогите плииииз, у меня форма в ней поля: код(счетчик); фамилия(текст); профессия(подстановка из...

Поле со списком скрывать кнопки по клику на поле
Доброго времени суток. Использую фреймворк Laravel 5. Расскажу суть. Есть поле со списком,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru