Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Access VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Guest

BANNED
Редактировать | Цитировать | Сообщить модератору
   
 
Обсуждаем вопросы только по Access VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.

 

NB! Дублирующая тема VBA for Access закрыта во избежание путаницы. Оставлена эта, как более ранняя и имеющая больше сообщений.

Смежные темы:
Помощь в создании SQL-запросов: SQL запрос
Программы » Microsoft Office 2019 & 365 | 2016 | 2013 | 2010 | 2007 | 2003
Программы » OneNote | Outlook 2013 & 2016 & 2019 | Outlook 2010 | Microsoft Mathematics & Math Solver
Программы » Word FAQ | Excel FAQ | Access FAQ
Прикладное программирование » Word VBA | Excel VBA
Андеграунд » Microsoft Office 2019 | 2016 | 2013 | 2010 | 2007 | 2003
Андеграунд » OneNote | Visio | SharePoint Server | Project Server | Exchange Server
Андеграунд » Надстройки (add-ins) и коммерческие макросы Excel
Андеграунд » Самостоятельная сборка дистрибутивов Оffice 2007/2010/2013/2016 | MUI для Office 2007
----------
Как в Access перместить запись из одной таблицы в другую (допустим по нажатию кнопки на форме)?

Отправлено: 18:31 05-09-2002 | Исправлено: ALeXkRU, 17:14 03-08-2021
real_knacker



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добрый день! Помогите пож-ста, ситуация такая:
 
есть база данных по движению тары (ну, типа - отгрузили тару клиенту, забрали тару от клиента). Добавил в базу данных табличку с информацией о самой БД - версия, дата, актуальность.
 
Никак не могу добиться того, чтобы в значение поля даты базы данных автоматически приравнивалось к дате последней записи по движению тары. Пробовал и мастер подстановки и через запрос на обновление - все никак.
 
Запрос на обновление  
 
UPDATE DbInfo SET DbInfo.DbDate = Max(EmptiesMovements!MovClosingDate);
 
выдает ошибку
 
"Попытка выполнить запрос, который не включает указанное выражение 'DbDate' как часть статической функции или группы."
 
 
Еще один вопрос - как сделать так, чтобы значение поля актуальности базы данных (логическое) автоматически изменялось в зависимости от условия "нет, если дата БД < текущей даты"?
 
Заранее благодарен.

Всего записей: 19 | Зарегистр. 25-05-2006 | Отправлено: 23:47 23-11-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
real_knacker
Попробуй

Код:
UPDATE DbInfo SET DbInfo.DbDate = SELECT Max(EmptiesMovements!MovClosingDate) FROM EmptiesMovements;

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 01:08 24-11-2008
23W

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли в mdb возможность автоматического формирования содержимого поля таблицы на основаннии данных связанной дочерней таблицы. Т.е., что хотется, редактирую я данные подчиненной таблицы (через Access или напрямую программно через ADO), а соответсвующее поле главной таблицы автоматически обновляется.
 
Таблицы две:
- список клиентов
- список их визитов
 
в таблице клиента есть поле "последний визит", которое и должно автоматически обновлятся на основе max(поля визит таблицы спиок визитов).
 
Или нужно делать самому запрос на обновление и принудительно его запускать?

Всего записей: 379 | Зарегистр. 20-03-2007 | Отправлено: 18:08 28-11-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:47 28-11-2008 | Исправлено: dneprcomp, 21:49 28-11-2008
Dixi257



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
23W
Нужно самому изменять программно или посредством запроса. Можно процедуру навесить на событие обновление.

Всего записей: 128 | Зарегистр. 24-08-2005 | Отправлено: 15:21 29-11-2008
0xMyk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надо перенести немеряно таблиц с access на ms sql server и синхринизировать их в дальнейшем.
Вопрос: есть уже где-н. готовый скрипт (желательно на питоне), который бы формировал нормальный "Create Table" sql запрос для sql server? Я нашел готовый jet2sql, но его еще надо доводить до ума, а времени у меня не густо. Спасибо

Всего записей: 8 | Зарегистр. 24-01-2007 | Отправлено: 23:43 29-11-2008
agro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем доброго дня!
помогите разобраться
есть:
1. tblPrice
  поля: id_tblPrice, p1, p2, p3, p4, PriceName, Price
 
    tblSetNames
  поля: id_tblPriceSets, SetName
 
   tblPrice&SetNames
 поля id_tblPriceSetsName, id_tblPrice, id_tblSetsNames
 
 Форма1
 в ней: поле со списком- для поля tblSetNames.SetName
 список для tblPrice.PriceName (с multiSect=simple [или как там оно зовётся])
 textBox для - суммирования того что выбрано в списке (отображает в реальном времени сумму tblPrice.Price, для выбранного в списке)
в списке на afterUpdate навешано вот это
Private Sub Список7_AfterUpdate()
    Dim rst As ADODB.Recordset
     
    Dim cmd As ADODB.Command
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = CurrentProject.Connection
     
    Dim objListBox As ListBox
    Dim varSelectedItem As Variant
    Set objListBox = Forms.форма1.Список7
     
    For Each varSelectedItem In objListBox.ItemsSelected
        cmd.CommandText = "SELECT Price FROM tblPrice WHERE PriceName =" & objListBox.ItemData(varSelectedItem)
        Set rst = cmd.Execute
        Forms.форма1.Поле5.Value = Forms.форма1.Поле5.Value + rst.GetString
 
    Next varSelectedItem
End Sub
 
в результате имею ошибку
"runtime error
ошибка синтаксиса (пропущен оператор) в выражении запроса
'priceName= значение выбранного пункта в списке'
 
при нажатии на дебуг желтым метит строку:
Set rst = cmd.Execute
 
 
P.S.
суть такая у меня здоровенный прайс на стом услуги более 500 пунктов(прайс сформирован мин.здравом и обсуждению не подлежит)
для упрощения расчётов необходимо иметь стандартные наборы ценовых пунктов с короткими и понятными названиями для врачей регистраторов и пациентов
приведенная форма это только начало работы, в ней должны формироваться эти самые наборы пунктоп из прайса

Всего записей: 18 | Зарегистр. 12-02-2006 | Отправлено: 00:12 01-12-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
agro
А где у тебя кавычки вокруг текстового значения имени прайса?

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 00:49 01-12-2008
agro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
эээээ
ткните пожалста пальцем
я в вба недавно и всё это по хелпам и примерам из книг ваял
для меня и это тяжело

Всего записей: 18 | Зарегистр. 12-02-2006 | Отправлено: 01:36 01-12-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
agro
Я конечно тоже не эксперт в вба, но текстовые значания, которым у тебя вроде бы является objListBox.ItemData(varSelectedItem), которое ты сравниваешь с PriceName в SQL запросах обрамляют в одинарные кавычки. Т.е. должно быть что то типа
 
" ... WHERE PriceName = '" & objListBox.ItemData(varSelectedItem) & "'"

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 08:57 01-12-2008
23W

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dixi257
спасибо.

Всего записей: 379 | Зарегистр. 20-03-2007 | Отправлено: 10:36 01-12-2008
agro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
 

Цитата:
agro  
Я конечно тоже не эксперт в вба, но текстовые значания, которым у тебя вроде бы является objListBox.ItemData(varSelectedItem), которое ты сравниваешь с PriceName в SQL запросах обрамляют в одинарные кавычки. Т.е. должно быть что то типа  
 
" ... WHERE PriceName = '" & objListBox.ItemData(varSelectedItem) & "'"
 

 
вот какие варианты
1. cmd.CommandText = "SELECT Price FROM tblPrice WHERE PriceName =" & "objListBox.ItemData(varSelectedItem)"
ошибка: неопределённая функция в выражении 'objListBox.ItemData'
 
2. как в вашем варианте  
cmd.CommandText = "SELECT Price FROM tblPrice WHERE PriceName = " ' & objListBox.ItemData(varSelectedItem)"'" часть текста стала коментарием
ошибка таже
 
3.         cmd.CommandText = "SELECT Price FROM tblPrice WHERE PriceName =" & 'objListBox.ItemData(varSelectedItem)'
 
Compile error
syntax error

Всего записей: 18 | Зарегистр. 12-02-2006 | Отправлено: 20:59 01-12-2008
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
agro
Ты точно все набрал?
...WHERE PriceName = '" <- здесь сначала одинарная, потом двойная кавычка.
... & objListBox.ItemData(varSelectedItem) & "';" <- здесь двойная, одинарная, точка с запятой, потом двойная.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 22:08 01-12-2008
agro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
ага я фишку просёк с одиночными и двойными
в этом случае пишет так
 
runtime error - цифирьки всякие
 
ошибка синтаксиса (пропущен оператор) в выражении запроса  
'PriceName ='.
 
именно так и пишет
 
а в коде появляется коментарий после ' одиночной кавычки
 

Всего записей: 18 | Зарегистр. 12-02-2006 | Отправлено: 23:29 01-12-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
agro
Попобуй

Код:
cmd.CommandText = "SELECT Price FROM tblPrice WHERE PriceName =" & objListBox.List(varSelectedItem)

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:21 02-12-2008
Anton T

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нажимаю дважды на листбокс выкидывает ошибку:
 
   
 

Код:
Private Sub Список12_DblClick(Cancel As Integer)
Dim TxtSQL As String ' Строка запроса
' Номер выбранного города
SelectG = ПолеСоСписком8.Value
' Номер выбранной улицы
SelectS = Поле1.Value
' Номер выбранного дома
SelectD = Поле3.Value
' Номер выбранной квартиры
SelectK = Поле5.Value
' Строка запроса
TxtSQL = "SELECT * FROM Лист1 WHERE Лист1.Город like " & SelectG & " AND Лист1.Адрес like " & SelectS & " AND Лист1.Дом like " & SelectD & " AND Лист1.Кв like " & SelectK & ""
' Источник данных запросы теперь этот запрос
Me.RecordSource = TxtSQL
'DoCmd.OpenQuery TxtSQL, acViewNormal
End Sub
 
Желтая строчка Me.RecordSource = TxtSQL
 
Короче, что-делать?

Всего записей: 325 | Зарегистр. 12-04-2006 | Отправлено: 20:55 02-12-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Anton T
Попробуй
TxtSQL = "SELECT * FROM Лист1 WHERE Лист1.Город like '" & SelectG & "' AND Лист1.Адрес like '" & SelectS & "' AND Лист1.Дом like "' & SelectD & "' AND Лист1.Кв like "' & SelectK & "'"

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:42 02-12-2008
Anton T

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dneprcomp
Работает, но не могу открыт запрос на выборку
 
Добавлено:
Убираю Me.RecordSource = TxtSQL, ставлю DoCmd.OpenQuery TxtSQL, acViewNormal пишет:
 

Всего записей: 325 | Зарегистр. 12-04-2006 | Отправлено: 21:53 02-12-2008 | Исправлено: Anton T, 21:55 02-12-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Anton T
SELECT Statement в TxtSQL, не является именем QUERY.
Docmd.RunSQL TxtSQL, acViewNormal
http://www.blueclaw-db.com/docmd_openquery_example.htm

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 23:37 02-12-2008 | Исправлено: dneprcomp, 23:38 02-12-2008
sadasaf



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите структуру и связи для базы данных.  
Нужно создать базу данных учета актов выполненных работ

Всего записей: 216 | Зарегистр. 18-08-2008 | Отправлено: 04:05 03-12-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Access VBA


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru