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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Скромный вапрос
 
 автор: ddi   (03.06.2011 в 14:25)   личное сообщение
 
 

Вазможно ли (а это вазможно)
Дапустим есть форма
код
Private Sub Form_Load()
*************************
Form.RecordSource = "таблица 1"
me.поле1.ControlSource = "****"
и т.п.
*************************
End Sub

Private Sub кнопка_1_Click()
dim i
i = (какое то значение бероца из таблици 2)
возможно ли кликнув на кнопку (кнопка_1)
сохранить значение i в таблицу 1 + инфармацию введоных юзером в полях из этой формы
End Sub

  Ответить  
 
 автор: Силblч   (03.06.2011 в 14:29)   личное сообщение
 
 

да

  Ответить  
 
 автор: ddi   (03.06.2011 в 14:30)   личное сообщение
 
 

и как ? может так ?Dim i As Object

  Ответить  
 
 автор: Силblч   (03.06.2011 в 14:41)   личное сообщение
 
 

можно через
- currentdb.execute "текст запроса", dbfailonerror
- через recordset
- а если в ашей форме в ка-ве источника данных указана эта таблица и поля привязаны к,
то при редактировании данных, последние, автоматически изменяются в таблице
-.....

  Ответить  
 
 автор: ddi   (03.06.2011 в 14:52)   личное сообщение
 
 


ник: Силblч
можно через
- currentdb.execute "текст запроса", dbfailonerror
- через recordset
- а если в ашей форме в ка-ве источника данных указана эта таблица и поля привязаны к,
то при редактировании данных, последние, автоматически изменяются в таблице
-.....


Я про то что дапустим в форме есть много полей где работник должен вводить данные но есть такие поля в каторым значение беротся програмно и патом уш добовлаеться в поле я хочу удалить эти поля оставть толко те которые вводит работник а осталные програмно (без запроса) типа ани вертуално создалис в коде и сохраналис в таблице при нажатьи на кнопку

  Ответить  
 
 автор: Силblч   (03.06.2011 в 15:03)   личное сообщение
 
 

например так
зависит от того добавлять запись в таблицу или обновлять
строите банальный SQL запрос "на лету"
update

currentdb.execute "update ИмяТаблицы set [Название поля]=" & me.[ИмяВиртуальногоПоляИзФормы] & " where [id]=" & me.[УНикальныйидентификатор запис],dbfailonerorr


insert

currentdb.execute "insert into ИмяТаблицы (ID, Поле) VALUES(" & me.[УНикальныйидентификатор запис] &"," & me.[ИмяВиртуальногоПоляИзФормы] & ")" & ,dbfailonerorr


учитівать надо формат передаваеміх данніх
если єто строки то брать в одинарніе кавічки
если дата - приводить к формату даті какнадо
с числами понятно

короче я бі рекомендовал вам купить книгу и читать :) прежде чем имхо
удачі

  Ответить  
 
 автор: ddi   (03.06.2011 в 15:05)   личное сообщение
 
 

Силblч спасибо но это ни то что я искал я написал прогу для комуналных и гасударствиных платежей (типа газ свет вода штрафы ГАИ и т.п.) для почты НКР (такое гасударство)
но в форме слишком много поленй надо сакротить ... как я помню я читал про это надо присвоеть i значение но какое не помню думал что As Object но не так!

  Ответить  
 
 автор: Силblч   (03.06.2011 в 15:07)   личное сообщение
 
 

  Ответить  
 
 автор: ddi   (03.06.2011 в 15:12)   личное сообщение
 
 

Силblч спасибо но это ни то что я искал я написал прогу для комуналных и гасударствиных платежей (типа газ свет вода штрафы ГАИ и т.п.) для почты НКР (такое гасударство)
но в форме слишком много поленй надо сакротить ... как я помню я читал про это надо присвоеть i значение но какое не помню думал что As Object но не так!

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 15:15)   личное сообщение
 
 

А запрос с вычисляемыми полями вместо табл1 не пробовали?

  Ответить  
 
 автор: ddi   (03.06.2011 в 15:17)   личное сообщение
 
 


ник: Дядя Федор
А запрос с вычисляемыми полями вместо табл1 не пробовали?


это тоже выход но не то

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 15:20)   личное сообщение
 
 

Да отчего же не то. Ведь вычисляемые поля все равно будут

  Ответить  
 
 автор: ddi   (03.06.2011 в 15:17)   личное сообщение
 
 

Силblч не говорю что твой варант плахой но на проге 20 форм в каждом по 15 таких полей пожалей мои глаза и комп в каторум должен обрбатоваться такой код) (твой код * 15 *20 + мой код каторий был, палочаеться очен много)
как я помну долже быть примерно так
Dim i As незнаю что
i = (какое то значение бероца из таблици 2)
i.ControlSource = ""

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 15:18)   личное сообщение
 
 

Если i.ControlSource = ""
то Dim i as Field

Но криво как-то это (ИМХО)

  Ответить  
 
 автор: ddi   (03.06.2011 в 15:23)   личное сообщение
 
 


ник: Дядя Федор
Если i.ControlSource = ""
то Dim i as Field

Но криво как-то это (ИМХО)


это я пробовал не Field

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 15:51)   личное сообщение
 
 

Тогда просто напиши Dim i
(будет variant и тип определится первым присвоением)

  Ответить  
 
 автор: ddi   (03.06.2011 в 16:01)   личное сообщение
 
 

так тоже пробывал

  Ответить  
 
 автор: ddi   (03.06.2011 в 16:03)   личное сообщение
 
 

Ошибка ошибка ошибка

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 16:14)   личное сообщение
 
 

а у тебя контрол i - есть на форме или это переменная.
если переменная, то вряд ли ей можно присвоить источник данных.
какой-нить dlookup можно...

  Ответить  
 
 автор: ddi   (03.06.2011 в 16:18)   личное сообщение
 
 

I - переменная ну где-то читал что можно а где ни помню а как тоже ни помню

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 16:21)   личное сообщение
 
 

  Ответить  
 
 автор: ddi   (03.06.2011 в 16:28)   личное сообщение
 
 

  Ответить  
 
 автор: Дядя Федор   (03.06.2011 в 16:47)   личное сообщение
 
 

i as control?

  Ответить  
 
 автор: ddi   (03.06.2011 в 17:23)   личное сообщение
 
 

неттт

  Ответить  
 
 автор: Explorer   (03.06.2011 в 17:54)   личное сообщение
 
 

for each Control in me Controls

>> check for Control.Tag

пробегаем все контролы на форме проверяем свойство Tag и устанавливаем соответсвующий ControlSource

но вообще ваша проблема надумана и может быть решена проще как я ду.

  Ответить  
 
 автор: ddi   (05.06.2011 в 08:54)   личное сообщение
 
 

Я тоже так думаю но не выходит

  Ответить  
 
 автор: Explorer   (05.06.2011 в 08:59)   личное сообщение
 
 

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

  Ответить  
 
 автор: ddi   (05.06.2011 в 10:16)   личное сообщение
 
 

Explorer я слышал что сушествует такой тип (типа Controls,Field,
но есть та каторая мне нужна нц я незнаю) чтобы назначить переменную ControlSource

  Ответить  
 
 автор: ddi   (06.06.2011 в 16:03)   личное сообщение
 
 

HELPPPPP не ужели некто низнает как это зделать ?

  Ответить  
 
 автор: Дядя Федор   (06.06.2011 в 16:09)   личное сообщение
 
 

Давай сначала


i = (какое то значение бероца из таблици 2)


Какое? Каким образом? Куда потом его надо приплюсовать или поместить?
Еще раз т.с. поподробнее.

  Ответить  
 
 автор: ddi   (06.06.2011 в 16:11)   личное сообщение
 
 

i это переменая надо прописать ему тип но такой чтобы у нево был ControlSource чтобы сохранить данные

  Ответить  
 
 автор: Дядя Федор   (06.06.2011 в 16:20)   личное сообщение
 
 

Если уж так ОХОТА сделай СВОБОДНОЕ невидимое поле и сохраняй данные туда.

  Ответить  
 
 автор: ddi   (06.06.2011 в 16:23)   личное сообщение
 
 

Так и есть но работает нестабильно вот и хачу через ВБА

  Ответить  
 
 автор: Дядя Федор   (06.06.2011 в 16:42)   личное сообщение
 
 

Тогда ты не ответил на пред.вопрос. что за данные КАК берутся из таблы в i и т.п.

  Ответить  
 
 автор: ddi   (06.06.2011 в 17:09)   личное сообщение
 
 

DLookup

  Ответить  
 
 автор: Дядя Федор   (06.06.2011 в 17:12)   личное сообщение
 
 

тогда в соответствии с твоим стилем i его заберет.
Потом запросом включай его куда угодно. Что за запарка ?! Я чего-то не понимаю, ... наверное.

  Ответить  
 
 автор: ddi   (06.06.2011 в 17:23)   личное сообщение
 
 

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

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

Лукаса в студию!!! Без него не обойтись. И без просмотра структуры базы тоже. Уж не интерфейс ли тут менять надо? Попробуй скрыть поля, куда ввод идет автоматически, сжать их до мм и в одну кучу.
Может связанные формы делать надо
Может в поля, куда вводится автоматом сделать значением по умолчанию инфу, которая выбрана где-то заранее
Может в часть полей вводить то, что вторым, третьим и... каким столбцом в списке (ниспадающем меню) первого поля
Индификационный номер и так можно удалить если это счетчик.

  Ответить  
 
 автор: ddi   (07.06.2011 в 08:13)   личное сообщение
 
 


ник: Гоблин
Лукаса в студию!!! Без него не обойтись. И без просмотра структуры базы тоже. Уж не интерфейс ли тут менять надо? Попробуй скрыть поля, куда ввод идет автоматически, сжать их до мм и в одну кучу.
Может связанные формы делать надо
Может в поля, куда вводится автоматом сделать значением по умолчанию инфу, которая выбрана где-то заранее
Может в часть полей вводить то, что вторым, третьим и... каким столбцом в списке (ниспадающем меню) первого поля
Индификационный номер и так можно удалить если это счетчик.


У меня всё таки есть но слышал что можно так как я выше написал ну и хочица ...

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

Вернемся к первоначальному вопросу. Источник формы - таблица1. Источник поля1 нечто ****
На кнопку объявляем некую переменную i. затем присваиваем ей значение из таблицы2. и в таблицу 1 сохраняем +то, что юзер ввел.
Получаем
dim i as .....(string или integer)
Как и откуда будем брать значение из таблицы2? Допустим рядом список с источником, где фигурирует таблица2. и нужное значение в 3 столбце. Тогда
i=me.список1.column(2)
А так как там еще и инфа юзера нужна, которую он вводит допустим в поле1, то получается
i=me.Список1.column(2)&" "&me.поле1
Только в этом случае i должна быть string и значение будет 3 столбец из списка1, пробел, инфа юзера.
или i integer, тогда и список1 3 столбец должен быть числовой. Получим
i=me.Список1.column(2)+me.поле1 - тут с полем1 формат нужно соблюсти. Глядеть надо.
Далее сохраняем в таблицу. Выше уже сказали как.
currentdb.execute(insert into таблица1 (полеХЗкакое) values ('"& i &"');) если i - string или "& i &" если числовое.
Ну как-то так типа что ли?

  Ответить  
 
 автор: ddi   (08.06.2011 в 16:01)   личное сообщение
 
 

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