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

» Access VBA

Автор: PrWork1
Дата сообщения: 30.01.2010 17:15
olenka_33
Вот такая мысль возникла:
Попробовать скопировать с другой машины *.mda файлы и подключить через диспетчер настроек в акссесе вручную.
Автор: olenka_33
Дата сообщения: 30.01.2010 19:26
вообще-то я в эксесе не очень разбираюсь, но данный файла поиском находится на моем компе.

Цитата:
Попробовать скопировать с другой машины *.mda файлы и подключить через диспетчер настроек в акссесе вручную.
. а вот это вообще не понятно. (и откуда он взялся на мою голову, этот Ассess , мне ж это программирование как ножом в сердце). где-то в другом сайте я видела что-то про регистрацию какого-то файла через командную строку, сделала - регистрация прошла успешно, а толку никакого.
Автор: PrWork1
Дата сообщения: 30.01.2010 20:30
olenka_33
Мастера наверное не *mda а *.mde
лежат примерно c:\Program Files\Microsoft Office\OFFICE11\
ACWZMAIN.MDE, ACWZTOOL.MDE

Найдите у себя,
Откройте в аксесе любую базу (хоть новую), Далее в меню
Сервис/ Надстройки/Диспетчер настроек и подключите эти файлы.
Автор: olenka_33
Дата сообщения: 30.01.2010 21:21
открыла новую базу, а строчка "надстройки" не активна.
ACWZMAIN.MDE, ACWZTOOL.MDE - эти файлы есть в компе...
Автор: PrWork1
Дата сообщения: 04.02.2010 21:19
olenka_33
Ну что, у Вас получилось?
Автор: xz111
Дата сообщения: 12.02.2010 22:51
Есть проект Access-2002 и SQL Server 2000 Personal.
В таблицах добавил столбец штампа времени (тип timestamp, в свойстве Allow Nulls галки нет), но эти поля почему-то остаются пустыми.
Это так и должно быть?
Таблицами управляю через проект Access.
Автор: dneprcomp
Дата сообщения: 12.02.2010 23:45
xz111
timestamp заполняется при insert
Если поле timestamp добавленно в таблицу с готовыми данными, то, естественно, никаких timestamp в поле не будет.
Если же timestamp не заполняется и при insert, то проверь что происходит при добавлении вручную. Если заполняется, то проблема в связке Access / Server. Если нет - что-то не то со структурой table.
В крайнем случае можно заменить timestamp на поле с date и заполнять его из тригера.
Автор: xz111
Дата сообщения: 13.02.2010 23:04
dneprcomp, я пробывал разные варианты.
Пустую базу Access преобразовывал в формат SQL Server и создавал новую базу через Enterprise Manager, а потом добавлял данные. В обоих случаях в поле timestamp в Enterprise Manager написано <Binary>, а в проекте Access оно пустое. Хотя если сделать сортировку по этому полю, то после редактирования какой-либо строки она перемещается в конец таблицы.
Значит наверно там есть данные, но они почему-то не видны.
Автор: dneprcomp
Дата сообщения: 14.02.2010 04:53
xz111
Видимо timestamp напрямую в Access не принимается. Да и нет в Access такого data type, если я не ошибаюсь.
http://msaccess.tribe.net/thread/92e9d966-b650-48bb-aef0-b0d56c1a5f14
Автор: PrWork1
Дата сообщения: 14.02.2010 07:32
Кстати, это поле, несмотря на название, никакого отношения к дате не имеет и используется SQL для опреденения, какое изменение было сделано раньше.
Автор: Almest
Дата сообщения: 25.02.2010 16:20
Всем добрый день!
Ребятки. может было уже много таких ворпосов, сильно не критикуйте, решил выучить Access, с чего начать и какие учебники посоветуйте?
Всем спасибо.
Автор: dneprcomp
Дата сообщения: 26.02.2010 00:44
Almest
Спроси в
Компьютерные (IT) книги на АНГЛИЙСКОМ
Компьютерные (IT) книги на РУССКОМ языке
Автор: Almest
Дата сообщения: 26.02.2010 06:38
Спасибо, нужно узнать.
Автор: Anton T
Дата сообщения: 01.03.2010 12:11
Здравствуйте.
Раньше обсуждали про фильтры на форме (см. соседную тему) так все получится и работает хорошо, а теперь надо сделать "Отчеты" из формы (короче форма в запрос, а запрос в отчет), которые вы вводили.
Создал запрос:

Код: SELECT *
FROM Клиент
WHERE (((Клиент.Ф) Like [Формы]![КлиентФорма]![Поле1] & "*") AND ((Клиент.И) Like [Формы]![КлиентФорма]![Поле3] & "*") AND ((Клиент.О) Like [Формы]![КлиентФорма]![Поле5] & "*") AND ((Клиент.Г) Like [Формы]![КлиентФорма]![Поле7] & "*") AND ((Клиент.А) Like [Формы]![КлиентФорма]![Поле9] & "*") AND ((Клиент.Д) Like [Формы]![КлиентФорма]![Поле11] & "*") AND ((Клиент.Кв) Like [Формы]![КлиентФорма]![Поле13] & "*") AND ((Клиент.К1) Like [Формы]![КлиентФорма]![Поле15] & "*") AND ((Клиент.К2) Like [Формы]![КлиентФорма]![Поле17] & "*") AND ((Клиент.С) Like [Формы]![КлиентФорма]![Поле19] & "*"))
ORDER BY Клиент.Ф;
Автор: Anton T
Дата сообщения: 01.03.2010 20:16
Повторяю ответить, после отправки были глюки.
Автор: dneprcomp
Дата сообщения: 01.03.2010 20:25
Anton T
Мало чего понял из описания
Но если надо сделать отчет по результатам работы фильтра, то и SELECT для отчета должен быть точно таким же, как и для фильтра.
Автор: Anton T
Дата сообщения: 02.03.2010 15:02
dneprcomp
Я, конечно, дико извиняюсь, но не умею. Пожалуйста, приведите хоть несколько примеров.
Автор: dneprcomp
Дата сообщения: 02.03.2010 16:16
Anton T
Я так понимаю, что отчет делается по результатам работы той формы, для которой я давал SELECT для фильтра по нескольким полям. Если так, то и запрос для отчета должен быть точно таким же, как и запрос для фильтра по нескольким полям.
Автор: vasiliy74
Дата сообщения: 09.03.2010 18:23
помогите разобраться с форматами не получается инпортировать данные, в Access, ошибка:
Попытка присвоить значение Null переменной, не принадлижащей к типу Variant.

вот текст запроса
INSERT INTO dbo_list ( f1
,f2
,f3
,f4
,f5 )
SELECT '2117' AS f1
,Лист1.ID as f2
,0 AS f3
,Date() AS f4
,'Imported' AS f5
FROM Лист1;
Если добавлять строки в ручную то всё работает.
можен нужно использовать функцию format() как то?
f1 - числовой
f2 - числовой
f3 - денежный
f4 - дата
f5 - текстовый

dbo_list - это ссылка на таблицу SQL2005

отдельно Select работает корректно.
Автор: dneprcomp
Дата сообщения: 09.03.2010 19:32
vasiliy74
Похоже, что в table dbo_list больше полей, чем пытаешься добавить. Какое-то поле не принимает Null
Или Лист1.ID не определено.
Автор: SIgor33
Дата сообщения: 10.03.2010 13:47
vasiliy74

Цитата:
'2117' AS f1

У тебя здесь 2117 в кавычках т.е символьное значение убери их
Автор: MadFire777
Дата сообщения: 15.03.2010 15:11
Нужно каким то образом перекинуть слово в конец предложения.
Сначала я ищу это слово по определенным параметрам, вот потом только не знаю что делать,может использовать массив? (код плизз)

Код поиска слов в предложений в форме Поле1

Private Sub Кнопка2_Click()

Dim strMyText As String
Dim strMyTextArr() As String

Me.Поле1.SetFocus
strMyText = Me.Поле1.Text

Const strWhat As String = "ар"

strMyTextArr = Split(strMyText, Chr$(vbKeySpace))

Dim intIterator As Integer
Dim intPosition As Integer
Dim intWord As Integer

For intWord = LBound(strMyTextArr) To UBound(strMyTextArr)
intPosition = 0
For intIterator = 1 To Len(strMyTextArr(intWord))
intPosition = InStr(intIterator, strMyTextArr(intWord), strWhat)
If intPosition > 0 Then
MsgBox "Найдено '" & strWhat & _
"' в слове №" & CStr(intWord) & _
", в позиции №" & CStr(intPosition) & _
" '" & strMyTextArr(intWord) & "'"
intIterator = intPosition
End If
Next
Next
End Sub
Автор: SIF
Дата сообщения: 30.03.2010 20:49
Здравсвуйте! Подскажите пожалуйста по ключевым полям. В процессе работы с таблицей, данные удаляются, добавляются. Так вот ключевые поля нумеруются по возрастанию. Можно ли как нибудь сделать, чтоб при добавлении новых строчек использовались старые свободные ключевые поля?
Автор: dneprcomp
Дата сообщения: 31.03.2010 00:25
SIF

1. Если назначение ключего поля осуществляется базой автомтически(autonumber; autoincrement), то нельзя. Если же код, то можно перебрать значения, найти неиспользуемые и т.д.

2.Но не следует.
A eсли в других tables остались рекорды с данным ID? Связность данных будет нарушена.

3.У тебя что, цифры заканчиваются? Или бережливость проснулась?
Автор: SIF
Дата сообщения: 31.03.2010 13:50
dneprcomp, спасибо за разъяснения!
Циферки слава Богу не кончаются Просто программку пишу и вот задумался о таком случае.
Автор: Anton T
Дата сообщения: 09.04.2010 11:16
В своем отчете я пытаюсь печатать строки. Если нет строки, хотел бы сделать "" (то есть пустая строка)

Код: =IIf(IsEmpty([Запрос-форм.Ф] & " " & [Запрос-форм.И] & " " & [Запрос-форм.О]);"";[Запрос-форм.Ф] & " " & [Запрос-форм.И] & " " & [Запрос-форм.О])
Автор: dneprcomp
Дата сообщения: 09.04.2010 16:19
Anton T

IsEmpty всегда будет false так как постояно добавляются 2 пробела.
Автор: Dixi257
Дата сообщения: 09.04.2010 16:57
Anton T
IsEmpty Тут совсем не к месту, то есть абсолютно.


Цитата:

IsEmpty(expression)
Возвращает значение типа Boolean, показывающее, была ли инициализирована переменная.
Expression    
Обязательный. Представляет выражение типа Variant, содержащее числовое или строковое выражение. Однако, поскольку функция IsEmpty предназначена для проверки того, была ли инициализирована конкретная переменная, в аргументе выражение обычно указывают имя переменной.
Замечания
Функция IsEmpty возвращает True, если переменная не была инициализирована или ей в явном виде было присвоено значение Empty; в противном случае возвращается False. Если аргумент выражение содержит несколько переменных, всегда возвращается значение False. Функция IsEmpty возвращает разумную информацию только для аргументов типа Variant.


Если нет строки и так пустая строка будет, или уж можно пользоваться функцией Nz().
А вообще, справку иногда очень полезно читать, очень-очень.
Автор: Changeless
Дата сообщения: 26.05.2010 17:45
Всем привет. Возникла следующая проблема: Если кликнуть ПКМ по полю со значениями дат в ленточной форме (это вложенная форма) и в поле "Фильтр для" задать значение вида dd/mm/yyyy (в этом поле даты имеют именно такой формат) фильтр отработает нормально. Но вот если мы в поле основной формы (назовем его Filter) зададим значение вида dd/mm/yyyy то VBA почему то распознает значение поля как mm/dd/yyyy. Как заставить его фильтровать в нужном мне формате dd/mm/yyyy и почему происходит подмена формата? С региональными настройками все в норме.
Автор: zabum
Дата сообщения: 03.06.2010 15:21
strWhere & "([TvoePole] = " & Format(Me.txtFilter, conJetDate) & ")

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

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


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