Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Access VBA

Автор: cheds2008
Дата сообщения: 17.04.2009 14:31
Люди памагите срочно плиз! На компе несколько mdb проектов и для каждого нужен свой рабочий каталог. Как разрулить?
Автор: Natykerik
Дата сообщения: 18.04.2009 01:27
Помогите пожалуйста....я делаю прогу по учету продажи товара.И мне надо чтоб по нажатию клавиши Enter выделенное поле копировалось в другую таблицу,т.е. чек.Напишите как эта процедурка на VBA будет.Или чтоб по клавише "Добавить".И посоветуйте как реализовать вычитание количества проданного из колич на складе.То есть хочу реализовать копир выделенного поля и сразу идет вычет из поля исходной таблицы 1 экземпляра,а вот если в чеке поставить другую цифру,то будет вычет той цифры автоматически
Автор: MrZeRo
Дата сообщения: 21.04.2009 14:54
cheds2008

Цитата:
Люди памагите срочно плиз! На компе несколько mdb проектов и для каждого нужен свой рабочий каталог. Как разрулить?

Создать их.

Natykerik
Выполнение запросов по добавлению в таблицу, пример:
DoCmd.RunSQL("INSERT INTO table1(field1) VALUES (" & Me![MyField] & ")")
Автор: cheds2008
Дата сообщения: 21.04.2009 16:26
MrZeRo


Цитата:
cheds2008


Цитата: Цитата:Люди памагите срочно плиз! На компе несколько mdb проектов и для каждого нужен свой рабочий каталог. Как разрулить?


Создать их.
Автор: SuperMaximus
Дата сообщения: 28.04.2009 10:21
Есть запрос на выборку
I: Min(DSum("inv";"q_DealOp";" op_week <= " & [op_week] & " and op_deal = " & [op_deal] & " and op_model =" & [op_model]))

(из построителя выражений, хотя в SQL выглядит почти также)

Т.к. в записи op_deal содержат названия компаний, которые, в свою очередь содержат кавычки, а-ля ООО "Вася Пупкин", то запрос просто не может быть обработан, т.к. кавчки воспринимаются SQL-ем как не эл-ты текстовой переменной, а как кавычки самого языка...
В кач-ве решения пока только убивание всех кавычек, но этим самым рушится оригинальность названия компаний. Как выбрать названия с кавычками - пока не знаю. Может подскажите?
Спасибо!
Автор: dneprcomp
Дата сообщения: 28.04.2009 20:08
SuperMaximus
Попробуй
1.
"ООО " & chr(34) & "Вася Пупкин" & chr(34)
Но искать и заменять кавычки придется в ручную.
2.
Замени в базе все кавычки на апостроф. И больше НИКОГДА не вноси с кавычками.
Юзеры должны использовать апострофы. Ввод кавычек запретить на уровне проверки вода.
3.
Замени в базе все кавычки на апостроф. Для юзеров на показ даных заменяй апострофы на кавычки на лету. Также на лету заменяй введеные юзером кавычки на апострофы для сохранения в базу и для поисков.
Автор: SuperMaximus
Дата сообщения: 28.04.2009 21:00
dneprcomp
Я просто заменил кавычки собственновыдуманный символ (q) - а-ля quotes.
При выводе на экран обратно заменяю (q) на " и в итоге получаю отобранные данные, но в оригинальном представлении/виде

Спасибо за совет! Мои мысли были в том же русле
Автор: dneprcomp
Дата сообщения: 28.04.2009 23:01
SuperMaximus

Цитата:
Я просто заменил кавычки собственновыдуманный символ (q) - а-ля quotes

Символ to в принципе не важен.

А первый вариант не сработал?
Автор: SuperMaximus
Дата сообщения: 29.04.2009 11:44
dneprcomp
По первому варианту Аксессовский SQL все равно путается в кавычках.
Вариант с заменой оказался лучшим выходом.
Спасибо!
Автор: dmka
Дата сообщения: 29.04.2009 12:51

Цитата:
Я просто заменил кавычки собственновыдуманный символ (q)

Мда, креатиффно - а двойные кавычки ("") применять не пробовали?
Автор: SuperMaximus
Дата сообщения: 29.04.2009 15:55
dmka
Не работает в случае с Access SQL, увы, ибо в названии будет первая кавычка и сразу вылетает ошибка... Это же не MySQL, который понимает что такое, к примеру \" или ""...
Автор: dmka
Дата сообщения: 29.04.2009 16:52
SuperMaximus
В смысле что-то типа нижеследующего работать в Access не будет?

Код:
"SELECT Field1 FROM Table1 WHERE Field1 = '" & [X] & "'"
Автор: ispolin
Дата сообщения: 29.04.2009 17:25
к примеру есть таблица, в ней два столбца,один называется станция, и второй - код станции.
я делаю форму, для столбца станция я выбираю объект список, а для второго, объект поле вот надо чтоб в соответствии с выбраным значением в списке и заполнялось поле.
подскажите пожалуйста кто знает как это организовать
Автор: sashalada
Дата сообщения: 02.05.2009 15:16
Подскажите пожалуйста, как сделать за счет формы (кнопкой)
Что бы можно было сделать связь с таблицами (Excel)

Спасибо большое.
Автор: agpage
Дата сообщения: 02.05.2009 21:41
Скажите, пожалуйста, можно ли из C# узнать структура базы данных MS Access? Надо определить связи между таблицами.
Автор: dneprcomp
Дата сообщения: 03.05.2009 00:30
agpage
http://aspalliance.com/542
http://accessblog.net/2005/02/useful-function-to-generate-table.html
Автор: sashalada
Дата сообщения: 03.05.2009 09:57
Задача такая.
Нада в Access закинуть таблицы Excel, сделать это можно через связь с таблицами. Как сделать это вручную я знаю.
Но вопрос в том, как сделать это через Форму.
Должно быть так, открываем Access появляется форма. на форуме кнопка с помощью которой можно будет сделать связь с таблицей Excel.
Помогите пожалуйста.

Спасибо большое.
Автор: loveheart
Дата сообщения: 08.05.2009 20:14
Дорогие мои...подсобите кто в курсе..а то череп уже плавится.

есть 2 таблицы (3-я не в счёт )))
у первой есть 2 ключевых поля, и эти же поля есть во второй таблице, + есть своё ключевое поле и несколько полей с другими данными.

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

первая таблица выглядит условно так.
имя, группа, порядковый номер.
Вася 1 1
Петя 1 2
Дима 2 3
Коля 2 4
Вова 2 5

Стало быть во вторую таблицу надо включить группу и номер...но при выборе из списка номера группы, допустимые номера порядковые не огранициваются.. и стало быть можно выбрать к примеру группу 2 и порядковый номер 1 ..и данные не ввести, так как они не совпадают (


надеюсь что объяснил более менее понятно.
очень прошу подсказки

а надо к примеру чтобы при выборе группы 2 ...выбор порядкового происходил лишь из списка 3 4 или 5 ...и тд.

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

пс.
В общем схема данных такая..
http://img508.imageshack.us/my.php?image=sxemadannix.jpg

Автор: magdaff
Дата сообщения: 11.05.2009 00:27
Дано: база данный формата Access 2003
в каждом четыре столбца и более 10 млн.строк
Задача: в каждом столбце удалить символы - такие как: пробел, точка, тире и деление, т.е. оставить только цифры и буквы (латинские)
При использовании функции ЗАМЕНЫ - глубина замены всего 9494, т.е. после каждого ее вылета выходит сообщение "невозможна замена текущего значения поля на указанный текст, исправьте все ошибки перед продолжением замены" и нужно замену перезапускать
ВОПРОСЫ:
1. Возможно ли увеличить глубину ЗАМЕНЫ до бесконечности, т.е снять ограничение или это глюк самого Access?
2. Можно ли в Access сделать удаление сразу всех не нужных символов, а не ананировать с каждым по отдельности?
может кто скрипт, макрос бросит или ссылку на решение

использую Windows XP sp2, Microsoft Office Access 2007
-------
заранее спасибо за ответ
Автор: magdaff
Дата сообщения: 13.05.2009 11:37
еще один вопрос
как в Access искать знак ? (вопроса)
Автор: dneprcomp
Дата сообщения: 14.05.2009 03:29
magdaff
1. Ограничения не попадались. Попробуй использовать английскую версию с английскими командами.
Без SQL и кода говорить просто не о чем.
2. Значение каждого поля помещаешь в переменную. Последовательно проводишь все REPLACE. Затем один раз делаешь update текущего поля.
Автор: grolle12
Дата сообщения: 18.05.2009 11:30
Подскажите пожайлуста на такой вот вопрос:Есть в БД одна таблица, которую заполняют сразу несколько пользователей(районов).Как сделать чтобы при открытии формы каждому пользователю были видны только его записи, т.е. чтобы один район не мог видеть и редактировать записи другого района?
Автор: dneprcomp
Дата сообщения: 18.05.2009 19:09
grolle12
Поставить фильтр на район. В общем виде:

Код: SELECT * FROM tbl WHERE [район] = "xyz"
Автор: grolle12
Дата сообщения: 19.05.2009 11:15
Фильтр, то я поставила, но проблема в том что к одной форме обращаются сразу несколько районов. И надо сделать так чтобы каждому району были видны именно их записи.Может я что-то неправильно обьясняю или может что-то неправильно понимаю?

Добавлено:
я почтавила такой вот фильтр
"Private Sub Form_Open(Cancel As Integer)
Form.Filter = "Kod_RES = 4"
Form.FilterOn = True
End Sub"-этот фильтр отображает только один район, а ведь этой формой пользуются 9 районов.И как сделать так чтобы в одном фильтре было прописано разрешения для 9 районов?
Автор: BrutForce
Дата сообщения: 19.05.2009 16:24
Здравствуйте, уважаемые форумчане.Заранее извиняюсь за ламерский вопрос, но в access я не работал вообще никогда до этого(в универе не был на данных парах, а потом создавал БД только с помощью Delphi )) ), а тут вдруг срочно возникла необходимость именно в access, подскажите как в нём сделать выборку на основе условия "или" по двум параметрам. То есть, допустим, есть БД со студентами и необходимо выбрать студентов у которых "2" либо по одному предмету, либо по другому...Как в access организовать подобное? Ещё раз простите...
Автор: dneprcomp
Дата сообщения: 19.05.2009 19:15
grolle12
Объявить переменную. В нее загонять нужное на даный момент значение фильтра.

Dim strFilter as string
if [район] = abc then
strFilter = "4"
ElseIf [район] = qwerty then
strFilter = "11"
.....
и так далее
.....
End if
Form.Filter = "Kod_RES = " & strFilter
Автор: videolamer_V
Дата сообщения: 20.05.2009 15:51
Мужики помогите разобраться! Не знаю с чего начать и как написать чтоб мой вопрос был понятен. Сталкиваюсь с Базами впервые но нужно разобраться самому, дело принципа. Есть некая програмка на Access. К ней базы данных. в текстовом формате, мне что бы изменить данные приходится импортировать их в Эксель (так они принимают вид таблицы), но после того как я меняю данные, сохраняю их тоже в текстовом формате иначе програмка не подхватывает их, короче после всего все данные получаются в виде крокозяблин. А мне надо начисто изменить все данные, так, как там все за 2005г. Как от этого избавится не знаю. Еще к программе ставится myscl. Не знаю понятно ли описал ситуацию? Могу скинуть куда все то что находится в папках программы или саму базу в тексте, вобщем что нужно выложу. Помогите разобраться Плиззз.
Автор: videolamer_V
Дата сообщения: 21.05.2009 12:42
Помогите люди добрые, неужели нет никого кто может толково вразумить что делать?
Автор: dneprcomp
Дата сообщения: 21.05.2009 22:32
videolamer_V

Цитата:
Есть некая програмка на Access. К ней базы данных. в текстовом формате

Если програмка действительно на Access, то какая(да еще и в "текстово формате" может быть?
Access и есть база даных. И все манипуляции с данными делают внутри Access без всяческих конвертаций.
Автор: videolamer_V
Дата сообщения: 22.05.2009 09:54
dneprcomp
Значит я действительно непонятно описал ситуацию, но это естественно, я ж с этим не сталкивался. Коротко опишу. При установке этой программы, создаются папки и в одну из таких папок отдельно нужно закинуть файл с данными вот Ссылка этого файла он в текстовом формате. Далее после всего, запускаю значек программы, открывается Access ввожу логин пароль и начинаю работать в программе. Все данные считаются, сумма прибаляется, склад работает, но изменить название товара, его цену я не могу в этой программе и работать со старыми данными тоже невозможно. Выход один изменить данные на новые. Это получается если импортировать файл в эксель, но при експорте в программе все сикась накись. У меня интернет не жирный, но я могу скинуть саму прогу и все, что к ней прилагается, если нужно для теста, кроме сервера myscql.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

Предыдущая тема: BDE - траблы, помогите пожалуйста срочно...


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.