|
|
|
| Ребят подскажите пожалуйста, вот создал я бд все таблицы,запросы,формы....Установил связи между таблицами и запросами.... А дальше то что? как запустить программу? можно ли сделать так чтобы самого аксесса на заднем плане видно не было? а просто была програмка.... заранее спасибо... | |
|
| |
|
|
|
| для запуска программы - необходимо определится со стартовой формой - которая будет первой открываться - ну а далее по обстоятельствам.
после того как решено с формой жмём Сервис ---параметры запуска ----
и там из списка (Вывод формы) выбираем нашу форму... | |
|
| |
|
|
|
|
Дальше следует:
1. Определиться с отчетами, какие нужны, с какими фильтрами, группировками и т.д.
2. Создать главное меню, контекстные меню, необходимые панели инструментов.
3. час рассказал.
4. Скрыть окно базы данных.
5. ....
Не нужно "стесняться" окна ACCESS. Никто-же не пытается скрывать Main окна WORD, EXCEL, IE или Mozilla Firefox. | |
|
| |
|
|
|
| Хорошо.. ну и это вроде понял))) формы создал,кнопки установил все подписал...отчеты? а они обязательны? я хочу посмареть как программа работает.. запускаю... ну вроде заупскается... А как ее сделать так сказать условно готовой к работе? чтобы посмареть ее в действии. Параметры запуска определяю кроме иконки.... а программа не создается.... нет ни одного файла на компе с таким именем)))) чет не могу понять..может накосячил где? | |
|
| |
|
|
|
|
... а программа не создается...
|
Она уже условно готова.
Формат MDB позволяет хранить в одном файле и интерфейс программы и сами данные.
Никаких других файлов, кроме файла блокировок, ACCESS "по умолчанию" не создает.
Если вы предусмотрели в формах необходимые "переходы" к другим формам, отчетам и т.д.,
то Вы уже можете смотреть ее в действии. | |
|
| |
|
|
|
| ага... понятно... тогда такой вопрос... а какие программы еще существуют для ведения базы данных ? желательно не трудные в разработке потому что я в этом не сильно разбираюсь... | |
|
| |
|
|
|
| Существует много.
Трудные - все.
ACCESS считаю самой легкой (потому на нем и сижу ), но возможно, и ошибаюсь. | |
|
| |
|
|
|
| хм.... ладно буду мучать тогда аксесс. а кстати можно ли все таки как то сделать что при работе программы созданной в нем сам аксесс не маячил на заднем плане? если да то как? | |
|
| |
|
|
|
| И я считаю Access хорошее начало для начинающего начинать програмить базы данных.
Море информации простота создания таблиц, запросов, форм отчётов - делает данный продукт особо привлекательным
Говоря об истории создания и развития в сфере..............
=====================
виноват | |
|
| |
|
|
|
|
| ну а все же? где про этот метод можно прочитать? и есть ли в аксессе разграничение прав доступа для пользователей? | |
|
| |
|
|
|
|
где про этот метод можно прочитать?
|
В статьях на сайте Hiprog.com
есть ли в аксессе разграничение прав доступа для пользователей
|
в 2003 есть. в 2007 поддерживается для файлов формата 2003. (может и 2000 тоже, не в курсе) | |
|
| |
|
|
|
| азграничение прав доступа для пользователей? конечно есть
и самому можно создать куда кому лезьть запретить или только смотреть без права переписки, или какой отчёт нельзя смотреть или ..... ды чё хрчешь можно....
Тебе надо книжку и конкретное задание - тогда всё постепенно освоишь, а иначе Вам удачи не видать.
========== какой ты приставучий =================
Всё равно пока не поймёшь нифига
Вопрос: Как показывать, скрывать, свернуть, и развернуть главное окно Access (hWndAccessApp)
Совет:
Manipulate Access Window
(Q) How do I maximize or minimize the main Access Window from code?
(A) Pass one of the declared constants to the function fSetAccessWindow.
This same function can also be used to completely hide Access window and just show your form on the desktop.
Make the form popup and from it's Open Event, call the fSetAccessWindow function with SW_HIDE as the argument.
Warning: If you're hiding the main Access window, make sure your error handlers are good. Because with the
window hidden, if an error is raised, pressing "End" on the Error window will NOT make Access window visible and
you will be left with just the form open. A recommended method is to make a call to fSetAccessWindow with
SW_SHOWNORMAL from your error handlers.
If, for some reason, the Access window does not show itself, then you can always close the mdb from the Task
List, available in Win 95 with Control-Alt-Delete (once) and under NT, by right clicking on the Taskbar and selecting
Task Manager, by selecting the mdb and clicking End Task.
======================
Управляйте Окном Доступа
( Q), как я развертываю или свертывать главное Окно Доступа от кода?
( A) Передает одну из объявленных констант к функции fSetAccessWindow.
Это та же самая функция может также использоваться, чтобы полностью скрыть окно Access и только, показывает вашей форме на рабочем столе.
Делайте форму всплывающей, и от этого - Открытый Случай, вызывать(называть) функцию fSetAccessWindow с SW_HIDE как параметр.
ВНИМАНИЕ: Если вы скрываете главное окно Access, удостоверитесь, что ваши драйверы ошибки хороши. Поскольку с
Скрытое окно, если ошибка поднята, нажимая "Конец" на окне Error, не будет делать окно Access видимым и
Вы будете оставлены с только открытой формой. Рекомендуемый метод состоит в том, чтобы звонить по телефону к fSetAccessWindow с
SW_SHOWNORMAL от ваших драйверов ошибки.
Если, по некоторым причинам, окно Access не показывает себе, то Вы можете всегда закрывать mdb от Задачи
Список, доступный в WIN 95 с Control-Alt-Delete (однажды) и под NT, правом, нажимающим на Панель задач и выбор
Администратор Задачи, выбирая mdb и щелкая Конечную Задачу.
'************ Code Start **********
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Function fSetAccessWindow(nCmdShow As Long)
'Usage Examples
'Maximize window:
' ?fSetAccessWindow(SW_SHOWMAXIMIZED)
'Minimize window:
' ?fSetAccessWindow(SW_SHOWMINIMIZED)
'Hide window:
' ?fSetAccessWindow(SW_HIDE)
'Normal window:
' ?fSetAccessWindow(SW_SHOWNORMAL)
'
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then 'no Activeform
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
End If
fSetAccessWindow = (loX <> 0)
End Function
'************ Code End ********** | |
|
| |
|
|
|
| Ну Час в своем репертуаре. Все просто и легко.
а кстати можно ли все таки как то сделать что при работе программы созданной в нем сам аксесс не маячил на заднем плане?
Найди пример Лукаса (он скромничает) "Ужас". Скопируй модуль в свою базу, с запуском базы должна открываться форма. На ее открытие впиши 2 строки (в примере разберешься) и ... О УЖАС!!! Ни окна акса, ни форм... Если формы и отчеты тонущие то так и будет.
Кароч. У меня пахает без замечаний в двух базах. Главное преимущество - никто не залезет туда, куда пес свой нос не совал. Форму можно по экрану двигать, другие файлы со стола открывать ну и т.д. Дерзайте.
За модуль Лукасу отдельное еще раз спасибо. | |
|
| |
|
|
|
| тока Shift - вредоносное создание | |
|
| |
|
|
|
| Ну как без него? Пока базу вылизываешь неоднократно к нему приходится прибегать. То шрифты не те, то подвинуть нечто на 2 мм, то кнопку создать вместо 2 щелчков. Да и кто о нем знает? | |
|
| |
|
|
|
| аааа круто)) я начинаю аксесс уважать))) спасиб ребят всем кто помог..а лукас это ник пользователя? ))) как его найти то?
и самый главный вопрос... а что и где написать что бы можно было из какого либо окна вернуться в главное и наоборот)))) подскажите где почитатть воообще про написание скриптов такого плана и не только)))
хзаранее спасибо))) | |
|
| |
|
|
|
|
а что и где написать что бы можно было из какого либо окна вернуться в главное и наоборот)))) подскажите где почитатть воообще про написание скриптов такого плана и не только)))
|
что бы вернуться в тоже место откуда открыл форму - либо открывай ее в режиме Dialog (Модальный) такой вариант приостанавливает действие кода откуда была вызвана форма и ждет ее закрытия, при этом доспутно только открытая форма. Применяется если нужно чтобы пользовательпроизвел какие-либо действия и на основании их результата продолжить выполнение проги.
DoCmd.OpenForm "имя_формы", , , , , acDialog
|
либо на открываемой форме Событие "Закрытие" вешай код
Forms!имя_формы!имя_поля.SetFocus
|
| |
|
| |
|
|
|
| Собственно с таким уровнем только о прозрачности окон и думать.
Для начала с мастером создания форм, кнопок и прочего познакомьтесь. Потом с созданием кнопочной формы, там с помощью мастера создать разные кнопки для вызова нужных форм и кнопку закрытия базы создайте. Ну как то так. Не рвите душу в VBA. С ним надорваться можно если сходу брать. Я вот совсем недавно с этим делом знакомиться стал. Мало что получается.
С конструктора начинайте.
а лукас это ник пользователя? ))) как его найти то?
Это местный. Найти можно на сайте hiprog.com пообщаться в разделе "боталка", спросить по делу на hiprog.com/forum.
PS И опять недопонял
...вот создал я бд все таблицы,запросы,формы....
А после этого задаете вопрос как формы открывать в какой последовательности и т.д. А структура базы что говорит? Если формы создавали так расчитывали как-то какая форма с какой и по какому критерию открываться будет. Или я опять не в ту степь?? | |
|
| |
|
|
|
| Просто - он ещё тока теорию говорит - в реале ничего не создано - всё тока на словах...
Он прицеливается к access ? но не уверен подойдёт или нет ему этот предмет,
а топодсядет на него , а потом будет кусать себе ногти или логти или........ | |
|
| |
|
|
|
| Пошли спать едрёна мать......
Lukas вон дрыхнет и в ус не дует......... | |
|
| |
|
|
|
| Да. Иду | |
|
| |
|
4 Кб. |
|
| Ну нифига себе.
Я тут как пчелка трудюсь, учу отчет индексы печатать, а он "...дрыхнет..." | |
|
| |
|
|
|
|
| А так:
...AND [Дата]=" & Format$(Dmax("Дата","Таблица"),"\#mm\/dd\/yy\#")
|
| |
|
| |
|
|
|
| А вот если-бы не собирал в строку кучу операторов и функций,
а расписал по строчкам, было бы проще диагностировать ошибку.
Const SQL_DATE_FORMAT As String="\#mm\/dd\/yy\#"
Dim MaxDate As Date
Dim strFiltr As String
...
MaxDate=DMax("Дата","Таблица")
'Debug.Print MaxDate
strFiltr="Материал='" & Me!Материал & "'"
'Debug.Print strFiltr
strFiltr=strFiltr & " AND [Дата]=" & Format$(MaxDate, SQL_DATE_FORMAT)
'Debug.Print strFiltr
...
|
| |
|
| |
|
|
|
| А почему - лёжа на боку Индекс??? | |
|
| |
|
|
|
| Так конверты печатать удобнее, вот и пришлось "завалить". | |
|
| |
|
|
|
| И ччё , ты там чёрточками(линиями) в зависимости от цыфры , рисуешь картинку........ | |
|
| |
|
18 Кб. |
|
| Ага. | |
|
| |
|
|
|
| БЛИИИИИИИИИИИИИИИИИИИИИИИИИИИнннннннн
Красиво и аккуратно так..............
Тебе надо с полки пирожок блин с горилкой | |
|
| |
|
|
|
| А я - лодырь ..
только в мозгу это всё обкручивал а в реал - не пускал... | |
|
| |
|
|
|
| Да мне тоже года два лень было это делать, а вчера на соседнем форуме увидел,
что коллега пытается рисунками индекс собирать, ну и вперло меня малость. | |
|
| |
|
|
|
| Не брался ...
но тоже казалось что рисунками проще | |
|
| |
|
|
|
| А шрифт специальный не проще? ;-) | |
|
| |
|
|
|
| А шрифт специальный не проще? ;-)
Проще, но .....................
Не был бы он программистом если бы просто шрифтом зафигачил..........
А так от этой разработки - польза - так можно (рисунками ) и не только циферки фигачить , но и что ещё мастрячить....... | |
|
| |
|
|
|
| Трудоёпко это видимо , было......... | |
|
| |
|
|
|
| Да в общем не очень.
Только заклинило на полях отчета, потому как в ГОСТ-овские размеры попасть необходимо.
Если поискать в нете, возможно не только спец шрифт имеется, но и готовый контрол Active-X.
Но интересно ж было самому нарисовать. | |
|
| |
|
|
|
|
| Ну так у меня по этому ГОСТ-у и сделано (приложения А, Б, В.) | |
|
| |
|
|
|
| снимаю шляпу
хоть не в тему может ты объяснишь
про балтийские буквы была терка.
кодом создать слово
strOne = ChrW(&H15D) & "e" & ChrW(&H15D) & "i"
то Акс и VB нормально воспринимают, а если словом в кавычках то даже при отладке (если мыша наведен на переменную) показывает другое? | |
|
| |
|
|
|
| Да я сам "с трудом" по этому вопросу. Глянь теорию:
http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/VBA/Decoder/VBVariables1_3.mspx
http://www.compress.ru/article.aspx?id=11933&iid=462
пошерсти гугль | |
|
| |
|
|
|
| хоть что-то стало ясно, спасибо.
но понравились 2 фразы:
Возможно, Microsoft так и хотел сделать, но подобная задумка выглядит весьма странно — вполне вероятно, что в данном случае просто допущена ошибка.
|
ага, как это MS и без багов
Проблема заключается в том, что многие американские приложения не признают других наборов символов, кроме родного cp1252
|
мне кажется это проблема вытекает из политики страны, а не каких-либо сложностей. | |
|
| |
|
|
|
| Лукас, спасибо. Опять пояснил. И что бы я делал? Просто не мог состряпать в одной строке что куда совать формат, макс все остальное.
А по шрифтам малость встряну не по теме. А что если в реестре заменить некие коды на 1251
по адресу HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage
или вы о чем? | |
|
| |
|
|
|
| Народ,подскажите плз как создать фильтр данных... Т.е есть в форме есть поле для вывода информации определенной.. но ее много.. и вот над этой инфой есть колонки в которой выбирая галкой определенный обьект вылазит в нижнем поле вся про него инфа...
причем нужно сделать так чтоюбы выбрав из первого столбца отфильровалась таблица по этим критериям... из второго еще отфильтровалась из третьего еще раз отфильтровалась... и так 4 раза))) | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_content&task=view&id=251661613&Itemid=35
http://hiprog.com/index.php?option=com_content&task=view&id=602&Itemid=35
http://hiprog.com/index.php?option=com_content&task=view&id=251661615 | |
|
| |
|
|
|
| Да тут таких примеров сотни. Повторяться не охота. Надоело уже. | |
|
| |
|
|
|
| Ребят появился еще один вопросик. Построение базы меняется... и в таблице нужно сделать как нибудь так чтобы к примеру когда идут записи должность фио телефон и т.д. к одному фио прикреплялось несколько телефонов... эт как такое в таблице замутить? и вообще посоветуйте.Как лучше организовать бд ? все данные вести в массивной таблице и от нее строить запросы либо можно как то сделать так чтобы были основные в одной а потом как то прикрепить дополнительные данные в другой таблице? если второй вариант лучше как это сделать?
всем кто откликнулся спасибо огромное заранее | |
|
| |
|
|
|
| "nj надо две таблицы
1 - основная и
2 - подчинённая
В основной сведения об абоненте, а во вспомогательной сведения (несколько строк) телефоны.
Хотя телефоны можно и в основной, но через запятую... | |
|
| |
|
|
|
| У основной есть поле - идентификатор записи - оно ключевое
В подчинённой такое же поле, но не ключевое - с возможностью иметь несколько записей с одинаковым значением в данном поле.
И это значение соответствует значению ключевого поля в основной таблице.
Так они и связываются - один ко многим.
В первой таблице одна запись , а в другой таблице ей соответствеют много записей. | |
|
| |
|
|
|
| XAMeleonoff, вот: http://vyugo.ucoz.ru/publ/osnovy_sozdanija_bazy_dannykh/1-1-0-4, может поможет ;-) | |
|
| |
|
|
|
| всем спасибо за помощь..ребят а подскажите как правильно соединить данные из основной таблицы с данный вспомогательной таблицы если они не повторяются а одна таблица должна дополнять другую... У меня чет не выходит... И еще вопрос как настроить счетчик чтобы он считал так как мне нужно... ну я просто хочу чтобы определенный код был для каждой строчки по котороым можно будет найти впоследствии эту строчку.... я хочу сделать чтобы сначала код области потом код округа а потом просто счет 1 2 3 и т.д как это сделать? всем спасибо заранее за помощь... | |
|
| |
|
8 Кб. |
|
| Счетчик - это для идентификации записи в таблице!!!! использовать его для каких либо подсчетов типа 1,2,3 нет смысла т.к. при удалении записии он не обновляется получим 1,2,7,8,9,12,13....
в итоге кол-во записей в табле как правило меньше показания счетчика.
для связи табл есть в типе данных - Мастер подстановок - подставляем счетчик + нужный столбец(ы) из другой таблы, и в поле - где мастер постановок види буковки, а на самом деле хранится число - значение счетчика из таблы.
посмотри пример.
п.с. названия таблиц, полей, форм и т.д. нужно писать на аглицком - меньше будет гемора. | |
|
| |
|
|
|
| а в чем будет заключаться этот гемор? | |
|
| |
|
|
|
| в один прекрасный момент некоторые вещи просто не станут работать и без бутылки не разберешься (Акс все-таки написан англоговорящими умниками - а их буковки в таблице кодировок расположены в первой половине а буковки других языков во второй отсюда может и возникнуть головная боль) | |
|
| |
|
|
|
| одна неприятная вещь будет сразу - при создании кнопки мастером которая открывает - отчет/форму - получишь вот такое счастье:
stDocName = ChrW(1057) & ChrW(1087) & ChrW(1080) & ChrW(1089) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(32) & ChrW(45) & ChrW(32) & ChrW(1042) & ChrW(1077) & ChrW(1076) & ChrW(1086) & ChrW(1084) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1086) & ChrW(1073) & ChrW(1097) & ChrW(1072) & ChrW(1103) & ChrW(32) & ChrW(1085) & ChrW(1072) & ChrW(32) & ChrW(1048) & ChrW(1079) & ChrW(1076) & ChrW(1077) & ChrW(1083) & ChrW(1080) & ChrW(1077)
DoCmd.OpenReport stDocName, acPreview, , , acDialog
а если аглицким - то вот
stDocName = "Brig"
DoCmd.OpenForm stDocName, , , stLinkCriteria
неприятность в том что без запуска или дебагера не поймешь кого зовут
да и визуально хреновато | |
|
| |
|
|
|
| Ребят а где можно прочитать как собиралась база из справки "Борей" есть там очень интересные задумки))) | |
|
| |
|
|
|
| Больше всего интересует как сделать так что вот у меня есть данные...там к примеру адрес телефон имя и фамилия...Но на один адресс может быть прикреплено несколько телефонов и имен или на одиного человека несколько телефонов и адресов.В базе борей в разделе поставщики есть подраздел есть кнопочка просмотр товаров так вот как на одного человека прикрепить эти несколько телефонов или адресов..Как прога будет различать из таблицы к какому челу относится какой телефон и в каком количестве? | |
|
| |
|
|
|
| 1. определись с построением базы - пойми ее структуру.
1.1. у чела м/б несколько адресов и несколько телефонов
1.2. на один адрес м/б несколько челов со своими телефонами
получаем таблы:
табла1 - "человеки": - ID_чел, ФИО, ....
табла2 -"адреса": - ID_адреса, Индекс, Город, Улица, №_дома, №_квартиры
табла3 - "телефоны": - ID_номера, №_телефона, ID_чел, ID_адреса, где последние 2 столбца связаны с таблами 1 и 2
(по хорошему Индекс-город-улица это связанные столбцы из соответсвующих таблиц) | |
|
| |
|
|
|
| Народ подскажите а почему у меня получаеться такая фигня...Забиваю данные в таблицу...Открываю эти данные через другую по средством плюсика и чет нифига не видно..Забиваю данные и они все равно исчезают? как сделать эту совместимость? заранее спасибо
http://slil.ru/28561382
Как сделать так чтобы в форме по Городу Области и округу можно было увидеть данные об изделии и контактную информацию? | |
|
| |
|
|
|
| 2 XAMeleonoff:
Вам очень бы неплохо было бы сначала почитать теорию по БД, MSA (аксессу) в частности, т.е. понять как организуются данные в таблицах, роль индексов, ключей, понять основные принципы построения отношений в БД, проникнуться нормализацией БД, уложить в общем всё на свои полочки. После этого ваши действия на вашем текущем этапе - этапе логического проектирования БД, станут намного более осмысленными. Это важно. Я начинал с книги Гиффорда Двайна (+ еще нескольких), сейчас уже такую не найти.. но тем не менее этот форум дал мне очень много практических советов (которые уже вкупе с той самой теорией, составили полную картину, понимание того, что делаешь/хочешь сделать) и до сих пор не перестаёт удивлять обилием примеров & умных идей!! | |
|
| |
|
|
|
| Спасибо.Это действительно так.Я почитал и на форуме и в книгах и разобрался....То что хотел сделал.Опять же всем огромное спасибо за помощь. Она мне действительно пригодилась.
Но появился новый вопрос. В базе нужно сделать две вещи...В форму добавил клавиши вперед запиись назад запись..А вот снизу полоса с мелкими кнопочками мешает..как убрать эту полосочку....
Ну и еще один вопрос как сделать так чтобы в форме информацию нельзя было редактировать до тех пор пока не нажмешь кнопку новая запись???
Заранее всем спасибо))) | |
|
| |
|
|
|
| Уважаемый XAMeleonoff - очень прекрасно что вы разобрались в своих вопросах
однако то что Вы задаете вновь возникающие вопросы в том же топике как бы (для меня) создает некоторые неудобства (загружается долго)
посему есть предложение подкупающее своей новизной
по каждому вопросу создавать новую тему (да простит меня osmor) | |
|
| |
|
|
|
| свойства формы - вкладка макет - кнопки перехода это косаемо кнопочек меню | |
|
| |