Помогите с combobox!!!!!!!
Никита123
Дата: 02.03.2008 22:30:00
задачка такая,есть поле со списком,в этом списке названия полей(колонок) таблицы "2"
хочется,чтобы при выборе названия какой либо колонки,после нажатия,предположим кнопки "запуск",создавалась таблица,в которой выбранный столбец уже назывался по другому!(произошло,как бы присвоение данных выбранного столбца,столбцу с заданным названием)
запрос хотелось бы запускать,через docmd.runsql
Заранее спасибо!!!!
mds_world
Дата: 02.03.2008 22:43:51
На процедуре на кнопке должно быть такое выражение (если я праивльно понял задачу...)
CurrentDb.TableDefs("ИмяТаблицы").Fields("СтароеНазваниеПоля").Name = "НовоеНазваниеПоля"
mds_world
Дата: 02.03.2008 23:47:24
Посмотрел еще раз вопрос автора, понял, что действительно неверно понял вопрос.
Никита123, что требуется?
1. создать таблицу по образу и подобию той, поля которой представлены в поле со списком?
2. После создания таблицы поменять имя выбранного поля на новое имя?
3. Откуда берется новое название поля?
4. Должны ли быть в новой таблицы ключевые поля и индексы, такие же как в старой?
Отвечаю только на первые два вопроса, поскольку на 3-й и 4-й в ТЗ нет ответа.
Запрос на создание таблицы с теми же данными
Currentdb.Execute "Select * Into [НовоеИмяТаблицы] From [2]"
Если нужно, чтобы в новой таблице не было данных, т.е. только структура
Currentdb.Execute "Select * Into [НовоеИмяТаблицы] From [2] Where False"
Если в новой таблице должны быть ключевые поля и индексы, такие же как в старой, то их нужно создавать отдельными (дополнительными) запросами или методами.
Поменять имя поля на другое
CurrentDb.TableDefs("НовоеИмяТаблицы").Fields(Me.ВашКомбобокс).Name = "НовоеНазваниеПоля"
Никита123
Дата: 03.03.2008 01:28:13
вообщем,для ясности:
1)есть поле списка.
В этом комбобоксе-за основу приняты поля(=столбцы) таблицы 2
то есть,если структура таблицы-Код,Количество,Цена.итд итп,то в этом списке,также должно быть код,количество,цена и прочие столбцы таблицы 2
2)Нужно,чтобы при выборе какого либо значения из этого списка,выбранный столбец,присваивался бы при создании таблицы полю с опредленным статичным названием+остальные поля,те которые не были выбраны(ибо комбобоксов 9 штук),нетронутыми с их названиями падали в новую таблицу .Для создания универсальной таблицы для дальнейшей обработки.
Суть такова,есть различные издания(разные название,каждый раз разные) их не больше 9,чтобы програмно,каждый раз не менять сумму по их общему весу,хочу сделать так,чтобы
они вливались в некоторую новую таблицу(что-то типа запроса на добавление),где для каждого из 9 было отдельное с постоянным названием поле!
Конечно,можно было через обычный запрос на добавление(но поля которые добавляются,выбираешь на форме,просто для наглядности на форме выведены как поле с изданием,так и чуть ниже вес этого издания,чтобы оператору,каждый раз не лезть в дебри программы и не менять названия изданий и соответствующий вес этому изданию(а то ведь нахимичит че-нить)
так же как-то надо сделать так,что кроме этого списка,есть еще значения =1,=0.Когда значение =0,то в поле с выбранным неизменным названием,проставлялись 0,когда 1-единички
вот такая вот задачка,впринципе, за метод переименования-спасибо,это поможет!!!Вот тока теперь надо придумать,как поступить со значением=1 и 0,как мне,к примеру если условие=о выполняется создать в этой же таблице поле-заданного названия,с проставленными нулями?и единичками?
RodionAT
Дата: 03.03.2008 07:45:12
извините, не понял.
Давайте так - похожа ли эта задача на такую
Есть несколько цехов, в них сотрудники, нужно заносить данные по табельному времени для каждого сотрудника в определенном цехе и получить сводные данные по времени по цеху и предприятию в целом. Данные по каждому цеху обрабатывает отдельный сотрудник расчетной части бухгалтерии.
Если задача такого уровня - откликнитесь. Она решается не так, ка у Вас.
Никита123
Дата: 03.03.2008 08:45:26
не совсем так.
Вообщем вначале есть таблица-"2",в ней есть поля-код,маршрут и прочие.
Из неё создаётся таблица 2-обработанная,в которой есть поля:2!код,2!маршрут,и пустые поля:
издание1,издание2,издание3,издание4,издание5,издание6,издание7,издание8-текстового типа.-это я сделаю.
Далее нужно заполнить пустые поля.Зполнять их нужно либо "1",либо "0",либо значениями,какого либо столбца из таблицы "2",всё зависит,от того,что выбрано в комбобоксе.,если набито =1,то заполняется 1,если выбрано название поля таблицы "2",то заполняется значениями соответствующего столбца таблицы 2.
примерно это выглядит,как обычный запрос на добавление в access,только значение добавляемых полей выбирается в комбобохе на форме.Комбобоксов 8 штук,название соответствует имени,куда добавляется выбранный элемент,если в первом коммбобоксе,выбрано поле"Ведомости",то издание1-заполняется значениями соответствующими полю с названием "ведомости" из таблицы "2"
если же "1",то запоняется единичками,если 0,то "0"
Программист-Любитель
Дата: 03.03.2008 08:49:59
Из неё создаётся таблица 2-обработанная,в которой есть поля:2!код,2!маршрут,и пустые поля:
издание1,издание2,издание3,издание4,издание5,издание6,издание7,издание8-текстового типа
Похоже что вам надо всего-навсего овладеть основами реляционных БД, имеющимися возможностями аксеса и в том числе сводными(!) запросами.
RodionAT
Дата: 03.03.2008 12:04:53
Нет, так не эффективно!!!
Должно быть так - в исходные таблицы заносяться данные со всеми признаками, потомвсе обрабатывается в запросах, могут возникать ситуации с созданием и потом удалением временных таблиц, но лучше не надо!
Извините, это только по моему личному опыту.
Может кто еще что нибудь посоветует?
Никита123
Дата: 03.03.2008 19:12:06
Программист-Любитель |
Из неё создаётся таблица 2-обработанная,в которой есть поля:2!код,2!маршрут,и пустые поля: издание1,издание2,издание3,издание4,издание5,издание6,издание7,издание8-текстового типа Похоже что вам надо всего-навсего овладеть основами реляционных БД, имеющимися возможностями аксеса и в том числе сводными(!) запросами. |
Да создать таблицу то ясно как,а вот как в неё влить данные,в зависимости от значения комбобокса!,если оно=0 или 1,то то заполнить соответствующиё столбец 0 или 1,если же выбрано название поля таблицы "2"к примеру код или маршрут,то нужно в столбец добавить весь столбец код или маршрут соответственно!Только управлять добавкой надо из формы!
к примеру,запрос через runsql выглядит так(пишу условно):(selest маршрут,код,издание1:[комбобокс1],издание2:[комбобокс2] из 2 итд)
если в комбобоксе ставишь 0 или 1,то всё хорошо,в столбце проставляються 0 или 1,а как сделать чтобы если было выбрано название поля таблицы 2,в комбобоксе,то запрос воспринимал этот выбо не как текстовое значение,а именно как столбец таблицы 2
Ёжик`
Дата: 03.03.2008 20:20:03
Судя по реализации - предпосылки неверные (ПЛ+1)
Лучше изначальную задачу запостить.