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

» Access VBA

Автор: Kat iynok
Дата сообщения: 11.05.2006 08:35
dneprcomp
Спасибо тебе, я это раньше делала, только чуть по другому, создавала отдельную форму и в VB задавала условие, там если пароль совпадает, то вход в форму, а тут просто много кнопок на которые надо задать разные пароли, ну я и подумала что может это как нибудь по другому сделать, а то такая заморочка.
Автор: MrZeRo
Дата сообщения: 11.05.2006 12:17
Portfel

Цитата:
Я делаю импорт вручную (банально Фаил-Внешние данные-Импорт).Захожу в нужную папку с файлами,а Аксесс не дает в выборе файла поставить опцию "Все файлы"...и соответственно выбрать не из чего

Не обязательно выбирать. Можно просто вручную вписать полное имя файла (с расширением), и он начнет загружаться, потом нажать "дополнительно" и далее как я писал. Только что попробовал файл с расширением "zzz", у меня загрузился.
Автор: tiwer
Дата сообщения: 11.05.2006 14:14
Подскажите пожалуйста, как сделать, чтобы при запуске программы (база данных- складской учет, файл *mdb), автоматически создавалась копия этого самого файла mdb в выбранной папке. Или же как- то реализовать через форму с парой кнопок.
Автор: Portfel
Дата сообщения: 11.05.2006 14:48
MrZeRo
Нераспознаваемый формат баз данных e:\vss\in\inctf01.130..эх ((((
Автор: MrZeRo
Дата сообщения: 11.05.2006 16:04
tiwer
Проще всего bat-файл написать.
Автор: dneprcomp
Дата сообщения: 11.05.2006 19:38
tiwer
Поставь вызов функции на кнопку или сделай автоматически при запуске. Надо добавить проверку на старый файл с таким же именем. Если есть, то надо переименовывать старый файл. А еще лучше генерировать динамически новое имя файла по полной дате(дата и время) создания файла.

Код: Function RepairDatabase(strSource As String, _
strDestination As String) As Boolean
' Input values: the paths and file names of
' the source and destination files.

' Trap for errors.
On Error GoTo error_handler

' Compact and repair the database. Use the return value of
' the CompactRepair method to determine if the file was
' successfully compacted.
RepairDatabase = _
Application.CompactRepair( _
LogFile:=True, _
SourceFile:=strSource, _
DestinationFile:=strDestination)

' Reset the error trap and exit the function.
On Error GoTo 0
Exit Function

' Return False if an error occurs.
error_handler:
RepairDatabase = False

End Function
Автор: tiwer
Дата сообщения: 12.05.2006 16:03
dneprcomp
Попробовал вставить код, который ты дал, не получается скопировать базу.. Можно поподробнее описать, что как делать, с проверкой имени и заменой на новую копию?
Bat файл- это интересно, можно и этот вариант поподробнее описать?
Автор: dneprcomp
Дата сообщения: 12.05.2006 19:08
tiwer
А ты параметры передавал? Покажи чему равны strSource и strDestination.
Цитата:
не получается скопировать базу
А что получается? Системные сообщения?

Код: Set fs = CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\testfile.txt") =True then
'do somthing
end if

filename = Replace(Date, "/", "_") & Space(1) & Replace(Time, ":", "-")
Автор: tiwer
Дата сообщения: 15.05.2006 07:28
Вобщем, сделал я копирование базы посредством cmd- файла, порылся в хелпе фара, нашел параметры командной строки, и все заработало!
dneprcomp, помучался я с кодом, указывал пути и названия файлов, ну не обрабатывает vba этот код!! (наверное я все- таки не так делал..)
Автор: pavelac
Дата сообщения: 31.05.2006 08:33
Доброго времени суток!
Такая проблемка.
Необходимо установить связь с табличкой DBF использую для этого

Цитата:
DoCmd.TransferDatabase acLink, "dBase 5.0", "C:\LKOS.DBF", acTable

на что мне сообщает ошибку 3044 - Строка 'C:\LKOS.DBF' задает ошибочный путь. ...
может что т я не правильно пишу?
ЗЫ путь проверал не один раз

Автор: MrZeRo
Дата сообщения: 31.05.2006 18:35
pavelac
Вместо 'C:\LKOS.DBF' должно быть 'C:\' , а имя таблицы должно указываться в последующем параметре, который ты не указал: source. Там, кажется, расширение указывать не надо, достаточно имени.
Автор: pavelac
Дата сообщения: 01.06.2006 04:16
MrZeRo

DoCmd.TransferDatabase acLink, "dBase 5.0", "C:\", acTable, "LKOS.DBF"
DoCmd.TransferDatabase acLink, "dBase 5.0", "C:\", acTable, "LKOS"
3125 - Недопустимое имя ". Проверте, что оно не содержит недопустимые символы или знаки припинания, а так же не является слишком длинным.

DoCmd.TransferDatabase acLink, "dBase 5.0", "C:", acTable, "LKOS"
DoCmd.TransferDatabase acLink, "dBase 5.0", "C:", acTable, "LKOS.DBF"
3011 - Объект 'LKOS' не найден ядром базы даннх Microsoft Jet. Проверьте существование объекта и правильность пути

А это пример их хелпа

Цитата:
Example
The following example imports the NW Sales for April report from the Microsoft Access database NWSales.mdb into the Corporate Sales for April report in the current database:

DoCmd.TransferDatabase acImport, "Microsoft Access", _
"C:\My Documents\NWSales.mdb", acReport, "NW Sales for April", _
"Corporate Sales for April"


Вот и сиди тут гадай
Автор: AZzzzz
Дата сообщения: 01.06.2006 08:51
Как перенести БД из Access 97 в 2000? Файлы .mde. Пишет, что преобразование и подключение файла mde не допускается.
Помогите пожалуйста.
Автор: MrZeRo
Дата сообщения: 01.06.2006 08:52
pavelac
Нечего тут гадать, мануал надо читать, он для этого предназначен
Вот у меня получилось как:

Цитата:

DoCmd.TransferDatabase acLink, "dBase 5.0", "D:\XXX", acTable, "yyy", "yyy"

Destination надо указывать.
Автор: pavelac
Дата сообщения: 01.06.2006 10:01
MrZeRo
Пасибки, получилось, манул это хорошо, когда он есть грамотный
Автор: MrZeRo
Дата сообщения: 01.06.2006 10:26
AZzzzz
Файлы .mde перенести нельзя. Разве если каким-нибудь хакерским способом.
Автор: Yuk
Дата сообщения: 01.06.2006 21:50
Как вывести в файл или распечатать информацию о всех запросах в базе: имя, описание, дата создания, дата модификации? Может через макрос можно? Помогите, пожалуйста. Срочно нужно.
Access 2003
Автор: dneprcomp
Дата сообщения: 01.06.2006 22:37
Yuk
Посмотри меню Tools-Analyz-Documenter
Автор: Yuk
Дата сообщения: 02.06.2006 00:20
dneprcomp
Спасибо, не знал.
А в текст экспортировать можно как-нибудь? Формат для печати не очень удобный. Мне бы в табличке.
Автор: dneprcomp
Дата сообщения: 02.06.2006 02:39
Yuk
При открытом репорте смотри в тулбаре Setup и в меню File-Export. В Export и выбeрешь формат файла. Можно еще попробовать кнопку OfficeLinks сразу после Setup. Тоже самое получишь по правому клику на репорте.
Автор: AZzzzz
Дата сообщения: 02.06.2006 08:26
MrZeRo

Цитата:
Разве если каким-нибудь хакерским способом

А какой этот способ?
Подскажите пожалуйста если кто знает очень надо!
Автор: tiwer
Дата сообщения: 02.06.2006 08:58
Подскажите пожалуйста, как "замостить" основное окно Access'a фоновым рисунком?
Автор: Yuk
Дата сообщения: 02.06.2006 18:40
dneprcomp
Отлично, спасибо огромное!
Автор: jONES1979
Дата сообщения: 03.06.2006 08:11
dneprcomp

Круто. Даж не знал.


А я именно макросы писал для этого... Правда макросы позволяют более глубокую степерь кастомизации... Наверное

Экспортирует список табличек

Код: Public Sub ListTablesToFile()
Автор: dneprcomp
Дата сообщения: 03.06.2006 09:04
jONES1979
Я подозреваю , что MS примерно тоже самое и делает. Только у нее есть доступ к внутренним функциям/API и используются (возможно) служебные таблицы для ускорения.
Автор: jONES1979
Дата сообщения: 04.06.2006 21:23
dneprcomp


Цитата:
Я подозреваю , что MS примерно тоже самое и делает. Только у нее есть доступ к внутренним функциям/API и используются (возможно) служебные таблицы для ускорения.

Ну естественна! У них ведь ещё и есть доступ к ИСХОДНИКАМ аксесса


Добавлено:
я этот код просто для примера выложил. его можно переделать на что-нибудь этакое, что "Tools-Analyz-Documenter" просто не умеет
Автор: Linda
Дата сообщения: 05.06.2006 03:02
Подскажите. Как организовать в таблице автозаполнение всей строки по введенному параметру?

Есть Таблица1:

Поле1 Поле2 Поле3
35А 1 48
66В 7 256
121С 28 358

Имеем Таблицу2, связанную с Таблицей1 по ключевому Полю1. Она имеет такие же три поля. Например, в Поле1 вводим 66В, а в остальных полях данные должны заполниться автоматически (Поле2 - 7, Поле3 - 256). Как разрешить ситуацию? НУЖНО.

Заранее спасибо за ответ.
Автор: dneprcomp
Дата сообщения: 05.06.2006 06:32
Linda
Создать update query с параметром и запускать по мере необходимости.
Автор: Linda
Дата сообщения: 05.06.2006 14:16
Это связано не с одноразовой ситуацией, а с постоянным вводом данных. Чтобы каждый раз не искать и не вводить вновь уже известные для ключевого поля параметры. К примеру, в Таблице 1 имеется 400 строк, в Таблицу 2 регулярно вводится по 30-40 строк, и потом происходят с полученными данными дальнейшие манипуляции. Вот в чем дело.
Хотя запрос по обновлению может помочь в данной ситуации. Просто может в свойствах полей где-то можно указать, типа "заполнять атоматичеки" дальше всю строку согласно введенному параметру ключевого поля?

Автор: dneprcomp
Дата сообщения: 05.06.2006 19:20
Linda
А кто мешает запускать query столько раз, сколько надо? Данные ведь обычно не вносятся напрямую в таблицы. Видимо, существует какой-то интерфейс. Вот на одно из его событий и вызывают query.
Цитата:
Просто может в свойствах полей где-то можно указать
Что мы называм полем в данном случае?
[more=Create a lookup column (ADP)]
Create a lookup column (ADP)
In a Microsoft Access project (Microsoft Access project: An Access file that connects to a Microsoft SQL Server database and is used to create client/server applications. A project file doesn't contain any data or data-definition-based objects such as tables and views.) connected to a Microsoft SQL Server 2000 database, you can add a lookup column. A lookup column displays values in another table's column that correspond to the lookup column's value. For example, a CustomerID column in an Orders table that is a foreign key (foreign key: One or more table fields (columns) that refer to the primary key field or fields in another table. A foreign key indicates how the tables are related.) to a Customers table. In this case, you want to display information about the customer, such as the customer name and address, rather than the number in the CustomerID column.

In the Database window, click Tables under Objects, click the table you want to open, and then click Design on the Database window toolbar.
Select an ID column, such as the foreign key column, and then click the Lookup tab.
Define the lookup column by setting the following properties:
In the Display Control, select the type of control you want to use for the lookup column in a form.
Select Text Box to create a text box (text box: A control, also called an edit field, that is used on a form, report, or data access page to display text or accept data entry. It can have a label attached to it.).
Select List Box to create a list box (list box: A control that provides a list of choices. A list box consists of a list and an optional label.) and make the next six properties available.
Select Combo Box to create a combo box (combo box: A control used on a form that provides the combined functionality of a list box and a text box. You can type a value, or you can click the control to display a list and then select an item from that list.) and make all subsequent properties available.
In the Row Source Type, enter the type of row source Tables/Views/Functions, Value List, or Field List).
In the Row Source property, enter the name of the row source:
If Row Source Type is set to Tables/Views/Functions, select a table, view, or function from the drop-down list box.
Note Although stored procedures are not listed, you can type the name of a single-statement stored procedure that does not modify data.

You can also click the Build button to the right and use the Query Builder to create an SQL SELECT statement.
If Row Source Type is set to Value List, enter the list of values, separated by semicolons, for example, "Small;Medium;Large" (without quotes).
If Row Source Type is set to Field List, enter the list of fields from the query or SQL statement specified by the Row Source Type setting that you want used in the list box or combo box.
In the Bound Column property, enter the number of the column you want bound to the underlying field for a bound multicolumn list box or combo box. This number is an offset: the first column is zero, the second column is 1, the third column is 2, and so on.
In the Column Count property, enter the number of columns you want displayed in the list box or combo box.
In the Column Heads property, select Yes if you want to display column headers.
In the Column Widths property, enter the width of each column in inches, separated by semicolons, for example, 2;3. To hide the bound column from the display, use a width value of zero, for example 0;2.
In the List Rows property, enter the maximum number of rows to display in the list box portion of a combo box.
In the List Width property, enter the width of the list box portion of a combo box in inches.
In the Limit To List, property, select Yes to restrict a combo box to displaying only values in the list. Select No to allow a user to enter text that doesn't match a value in the list.
Click Save to save changes and switch to Datasheet view to verify your results.
Note You can add more than one lookup column to a table.[/more]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

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


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