Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите плиз с формочкой
 
 автор: Чайник2009   (07.08.2009 в 20:04)   личное сообщение
18 Кб.
 
 

Я уже писала про блокировку полей, но не смогла сделать помогите пожалуйста на примере. Заранее большое спасибо.

  Ответить  
 
 автор: час   (07.08.2009 в 20:46)   личное сообщение
27 Кб.
 
 

Может так?

  Ответить  
 
 автор: час   (07.08.2009 в 20:49)   личное сообщение
16 Кб.
 
 

Нет наверное вот так

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 20:56)   личное сообщение
30 Кб.
 
 

Да даже если самый наивный гоблин-способ так. Это тоже не так.

  Ответить  
 
 автор: Lukas   (07.08.2009 в 20:58)   личное сообщение
 
 

Лучше-бы на букварь девушке скинулись.

  Ответить  
 
 автор: час   (07.08.2009 в 21:01)   личное сообщение
8 Кб.
 
 

А зачем, простите букварь нуна???

  Ответить  
 
 автор: Lukas   (07.08.2009 в 21:03)   личное сообщение
17 Кб.
 
 

Искать ответы на последующие вопросы, углублять знания и т.д.
Букварь имелся в виду профильный, по Access.
Например такой:

  Ответить  
 
 автор: час   (07.08.2009 в 21:06)   личное сообщение
6 Кб.
 
 

АААААААААААА

  Ответить  
 
 автор: час   (07.08.2009 в 21:08)   личное сообщение
6 Кб.
 
 

А чё ? Начинать всегда трудно....
А она благородным делом занимается и Access познаёт на првктике.....
Молодец сестричка.

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 21:18)   личное сообщение
55 Кб.
 
 

Ну засмущали девушку блин. Я вот до всего тыком доходил по причине неумения читать. А тут букварь, руководство.

Лучше вот тут в примере укажите что не так в переброске данных фамилия, инициалы, датарождения и т.д. (Обязательные поля разблокируются по мере ввода данных) Если нашли кого, то открывается 2 щелчком на выбранном. если нет- откроется автоматом по вводу в поле "Пол". Запрос на добавление не хочет добавлять, пришлось через переменные делать. Работает, но если все из таблицы пациенты стереть, может завозмущаться.

  Ответить  
 
 автор: час   (07.08.2009 в 21:22)   личное сообщение
 
 

Я где то уже видел это
Прости - башка совсем не варит, я тебе и в прошлый раз какую то ХР... посоветовал....
Настроение упадническое....
Вот был стимул - девочке помочь...........
и ФСЁ

  Ответить  
 
 автор: Чайник2009   (07.08.2009 в 21:21)   личное сообщение
 
 

Спасибо большое всем

  Ответить  
 
 автор: час   (07.08.2009 в 21:24)   личное сообщение
 
 

Чё? Всё получилось у Вас?

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 21:26)   личное сообщение
 
 

Час, я с этой хренью уже достал это понятно. 2 или 3 раза запускал. Меня интересует вот этот код
Me![Список10].Requery
Me.Requery
If Me.Список10.ListCount = 0 Then
If MsgBox("Данный пациент отсутствует в базе. Добавить?", vbOKCancel) = vbOK Then
Fam = Me![ПолеСоСписком2]
Ini = Me![ПолеСоСписком4]
Dat = Me![Поле6]
pol = Me![ПолеСоСписком13]
DoCmd.Close

DoCmd.OpenForm "Пациенты", , , , acFormAdd
Forms![Пациенты]![Фамилия] = Fam
Forms![Пациенты]![Инициалы] = Ini
Forms![Пациенты]![ДатаРождения] = Dat
Forms![Пациенты]![Пол] = pol
Else
Me![ПолеСоСписком2].SetFocus
Me![ПолеСоСписком2] = ""
End If
Присваиваю переменным данные полей, закрыаю форму, открываю другую и вставляю данные в поля из каждой переменной. Работает. Но как-то нестабильно. Надо как-то иначе.


А хрень тут только я советую. У тебя все в порядке.

  Ответить  
 
 автор: Lukas   (07.08.2009 в 21:33)   личное сообщение
 
 

Запросом надо добавлять данные, если контролы отвязанные,
причем после проверки корректности введенных значений.

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 21:44)   личное сообщение
 
 

10000000% Вы правы. Так и задумывалось. Однако запрос на выборку работает, а как только на добавление делаю - "Ошибка в выборе параметров" или еще что выдает ХЗ.
После проверки корректности данных это тоже в проекте:
MsgBox ("Введен: ") & fam & " " & Ini & " " & Dat & " " & pol

Токмо надо что бы на MSGBOX 2 кнопаря было Да Нет

А вот на добавление не получился. Долго бился блин. Пришлось через переменные.

  Ответить  
 
 автор: час   (07.08.2009 в 21:37)   личное сообщение
 
 

Прости - как смогу.........
Значит так
DoCmd.Close - по моему лучше сказать кого конкретно закрыть
А глобальные переменные тебе помогут чётко иметь данные о вносимом клиенте.
При вводе новых данных ты эти переменные обнулишь, а пока(до обнуления) они могут быть использованы где угодно и как угодно.
Ну как?
УДОБНО????

Да и почему ты так как-то при открытии формы передаёшь
И нахрена эти переменные..... чёт я у тебя на поводу

Сразу их записывай в нужную таблицу
А открывай форму с источником записи запрос с условием ID этой записи
А ID этой записи храни в одной единственной переменной......
А ещё надо тада функцию ID_RECORDS(ID_PEREMENNAYA)
Функцию в условие запроса
И он выдаст на фновь открываемую форму все нужные двнные, то есть конкретно - оду нужную запись

  Ответить  
 
 автор: час   (07.08.2009 в 21:46)   личное сообщение
 
 

покажи запрос
Да и не вышел он потому, что все данные из формы надо в запрос через функции передавать, а то он формы не видит - потому и орёт
дайте параметров дайте параметров

  Ответить  
 
 автор: Lukas   (07.08.2009 в 21:49)   личное сообщение
 
 

Удалено

  Ответить  
 
 автор: Lukas   (07.08.2009 в 21:50)   личное сообщение
 
 

Удалено

  Ответить  
 
 автор: Lukas   (07.08.2009 в 21:50)   личное сообщение
 
 

Кодом SQL- строку запроса собирать прямо в форме. Подставлять значения, а не ссылки на поля формы. Выполнять там-же.

Во блин у меня сегодня SkyLink глючит, аж в глазах троиться.

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 21:58)   личное сообщение
 
 

Кодом SQL- строку запроса собирать прямо в форме.
Попробую. Легко сказать.
Но с VBA не сильно в ладах.
5 мин.

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 21:51)   личное сообщение
 
 

То бишь писать модуль - объявлять глобальные переменные. Ради только одной маленькой процедурки. Вроде как не солидно. Этот вопрос прорабатывался.

В нужную таблу сразу не катит. А ну как введенный не нужен.
Форма эта уже для просмотра всего чего надо. Если клиент есть, то высветится в списке и тогда по нему 2 хлопка и поехали. А коли такового нет, то и список будет пуст. Тут уж когда дойдем до последнего поля откроется основная форма и добавятся данные.

Сдается Лукас прав. Запрос на добавление надо. А не получается.
И ты прав на счет глобальных переменных. Но это....
Да и это DoCmd.Close "Пациенты"
Это да.
Блин. ЧД?

  Ответить  
 
 автор: час   (07.08.2009 в 21:57)   личное сообщение
 
 

Создай запрос в конструкторе
скопируй его SQL представление (строку) затем вставь в код
Он сразу работать не будет
Пришли запрос сюда Lukas поправит кавычки и переносы - и всё у нас будет ОК

  Ответить  
 
 автор: час   (07.08.2009 в 22:00)   личное сообщение
 
 

хотя Гоблин говориттттттт - сразу в таблу клиента бросать не гоже
А чё их как то различают по роже?????
Какой критерий отбора в таблу
По принципу иль по баблу????

  Ответить  
 
 автор: час   (07.08.2009 в 22:02)   личное сообщение
 
 

ушел, и хлопнул дверью
Шуршит чего- то на компе
Меня назвал какой то зверью
Иль показалось в темноте

  Ответить  
 
 автор: час   (07.08.2009 в 22:11)   личное сообщение
 
 

А я пошел - взглянул участники ONLine
Там с нами вроде Капитан
Ему впрягаться не фонтан
Иль эт не он - налей стакан

Не вощем даже интересно
Я часто в список тот смотрю
Быть может это не уместно
Но я о нём поговорю

Так вот смотрю, а я серее ночи
Не даром серым ведь зовут
Понять такое нету мочи
Спросить стесняюсь - обзовут

Как тень в онлайне тама ники
Не все, но ты попробуй взвесь
Быть может рожи их поникли
А может в этом смысол есть............

  Ответить  
 
 автор: час   (07.08.2009 в 22:18)   личное сообщение
 
 

Как там у Пушкина
Уж полночь близится, а гоблина всё нет
Хоть птичка б принесла его ответ
Хоть мышка б прошуршала в темноте
Запрос ваяет клавой на компе
Иль на диване спит и ждёт рассвет.
А мы наивно ждём те 5 минут
Что Гоблин на последок нам послал
А он нарочно это написал
Мол успокоятся - когда прочтут.........................

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 22:27)   личное сообщение
 
 

Я не ушел. И дверь открыта
Я просто в темном тупике
И отвались мои копыта
Решений нету в голове...

  Ответить  
 
 автор: час   (07.08.2009 в 22:31)   личное сообщение
 
 

В конструкторе вопрос сварганил?
Ты в код строку ту перенёс
Там переносы устаканил
И переменные привнёс

В чъём проблема то?

  Ответить  
 
 автор: час   (07.08.2009 в 22:37)   личное сообщение
 
 

тада уж так:


Я не ушел. И дверь открыта
Я просто в темном тупике
И отвались мои копыта


Решений нет в моей башке

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 22:57)   личное сообщение
 
 

Меня вновь Лукас озадачил
И как всегда он снова прав
Мозги свои я раскарячил
Я мыслю словно тот жираф.

Собрать запрос на SQL-е
И прямо в форме - это как?
Нет. Не достичь своей мне цели
В башке царит сплошной бардак

Создать запрос вобще не сложно
И в SQL перевести
Но добавлять им невозможно
Из непривязанной строки!

Тщетны были все попытки
В башке как барабан стучит
Подставь значения! Не ссылки!
А как? Скажи!

Не говорит.

Откуда мне знать какие там будут значения?

  Ответить  
 
 автор: час   (07.08.2009 в 22:59)   личное сообщение
 
 

  Ответить  
 
 автор: час   (07.08.2009 в 23:01)   личное сообщение
 
 

Вон как ты в мсбоксе пишешь
& fam & " " & Ini & " " & Dat & " " & pol
так и подставишь ............. ты чё запрос не несёшь, в натуре уже все жданки грохнулись....
Давай лаптай.........

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 23:12)   личное сообщение
 
 

Да что его лаптать.
INSERT INTO Пациенты ( [Forms]![Поиск ввод пациентов]![Фамилия], [Forms]![Поиск ввод пациентов]![Инициалы], [Forms]![Поиск ввод пациентов]![ДатаРождения], [Forms]![Поиск ввод пациентов]![Пол] )
SELECT Пациенты.Фамилия, Пациенты.Инициалы, Пациенты.ДатаРождения, Пациенты.Пол
FROM Пациенты;


Но это когда с таблой связано. А так ругается что неизвестное поле в инструкции INSERT INTO [Forms]![Поиск ввод пациентов]![Фамилия]

Блин. Раньше все на формах делал и проблем не было. А тут новые технологии потянули. Филльтры, свободные формы, поля. Вот и загнулся. Но красиво блин смотрится!

  Ответить  
 
 автор: час   (07.08.2009 в 23:22)   личное сообщение
 
 

Конюшна будет ругаться и я тоже тебе пару слов скажу
Ты чё не видишь разницы???

INSERT INTO Пациенты ( [Forms]![Поиск ввод пациентов]![Фамилия], [Forms]![Поиск ввод пациентов]![Инициалы], [Forms]![Поиск ввод пациентов]![ДатаРождения], [Forms]![Поиск ввод пациентов]![Пол] )
SELECT Пациенты.Фамилия, Пациенты.Инициалы, Пациенты.ДатаРождения, Пациенты.Пол
FROM Пациенты;

ты чё написал.....?

INSERT INTO Пациенты ( [Forms]![Поиск ввод пациентов]![Фамилия], как в форму запихивать данные - шутка???

Я ж те говорю в таблицу запросом данные заносим в таблицу
А выбираем из формы, из формы, а у тебя наоборот.

В конструкторе напиши

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 23:22)   личное сообщение
 
 

Может и впрямь глобальную переменную и ну его.
Хотя и так работает.

Иногда сбоит.

  Ответить  
 
 автор: час   (07.08.2009 в 23:27)   личное сообщение
 
 

Пойду я посплю
скоро 12 ночи

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 23:27)   личное сообщение
 
 

Блин! Там же ПолеСоСписком2 а не Фамилия. Это что за торможение у меня?

  Ответить  
 
 автор: Гоблин   (07.08.2009 в 23:37)   личное сообщение
 
 

Час, и я тоже.
INSERT INTO Пациенты ( Фамилия, Инициалы, ДатаРождения, Пол )
SELECT [Forms]![Поиск ввод пациентов]![ПолеСоСписком2] AS Выражение1, [Forms]![Поиск ввод пациентов]![ПолеСоСписком4] AS Выражение2, [Forms]![Поиск ввод пациентов]![Поле6] AS Выражение3, [Forms]![Поиск ввод пациентов]![ПолеСоСписком13] AS Выражение4
FROM Пациенты;
Вот типа.

  Ответить  
 
 автор: час   (08.08.2009 в 22:04)   личное сообщение
 
 

Пишем в общем модуле функции такого типа


Public Function Fun_Famili () as sting
Fun_Famili = [Forms]![Поиск ввод пациентов]![ПолеСоСписком2
end function

  Ответить  
 
 автор: час   (08.08.2009 в 22:05)   личное сообщение
 
 

и подставляем в запрос




INSERT INTO Пациенты ( Фамилия, Инициалы, ДатаРождения, Пол )
SELECT Fun_Famili AS Выражение1, [Forms]![Поиск ввод пациентов]![ПолеСоСписком4] AS Выражение2, [Forms]![Поиск ввод пациентов]![Поле6] AS Выражение3, [Forms]![Поиск ввод пациентов]![ПолеСоСписком13] AS Выражение4
FROM Пациенты;

  Ответить  
 
 автор: час   (08.08.2009 в 22:07)   личное сообщение
 
 

тока запрос чёта у тя странный какой та
Ну да ладно тебе виднее

  Ответить  
 
 автор: Гоблин   (08.08.2009 в 22:30)   личное сообщение
 
 

Да глюк это а не запрос. Пока оставил все.
Если запросом закидывать - это я сделал всетаки. Там надо форму по фильтру на последнего открывать. Заморока лишняя. ХсН.

  Ответить  
 
 автор: час   (09.08.2009 в 00:22)   личное сообщение
 
 


ХсН


  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList