| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > DBComboBox не видит структуру таблицы |
| Автор: Shokan 10.5.2007, 07:06 | ||
| почему у меня комбо бокс не видет таблицу? вот, хотел вывести значений поле вот таким обрахом:
где их можно указать? извеняюсь та тупой вопрос |
| Автор: Rodman 10.5.2007, 08:44 |
| Shokan, а таблицу открыл? не туда написал, тебе в Базы данных... |
| Автор: skyboy 10.5.2007, 09:35 |
| Нужны компоненты: TDBComboBox(DBComboBox1), TDataSource(DataSource1), TTable(Table1) Надо установить:
|
| Автор: Shokan 10.5.2007, 10:04 |
| Да, там все в порядке. Все это сделано. вот виды ошибок: [Error] Unit1.pas(105): Undeclared identifier: 'departments' [Error] Unit1.pas(105): 'DO' expected but identifier 'RecordCount' found [Error] Unit1.pas(106): ')' expected but identifier 'FieldByName' found [Error] Unit1.pas(106): Missing operator or semicolon [Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas' |
| Автор: Rodman 10.5.2007, 10:54 |
в той строке такого нет.. выложи весь код... |
| Автор: Shokan 10.5.2007, 10:57 | ||
вот
|
| Автор: Rodman 10.5.2007, 11:12 | ||
| ну во первый ты departments даже не обьявил Добавлено через 2 минуты и 22 секунды
что так? |
| Автор: Shokan 10.5.2007, 11:17 | ||
| Я только начинаю этот язык. пришел с пхп. горю желением освоится в этой среде. при обявления откуда надо вытаскивать эти переменные? Обясните пожалуйста нет. вот это вот не работает
выводит только 1-запись из этого поле |
| Автор: Rodman 10.5.2007, 11:23 | ||
ооо плин.
|
| Автор: Shokan 10.5.2007, 11:54 | ||
| выходит только 1-запись всего поля: в чем может быть дело?
|
| Автор: Rodman 10.5.2007, 12:01 | ||
значит твоему условию
cоответствует только одна запись. |
| Автор: Shokan 10.5.2007, 12:07 |
| нет. этот комбо бокс(DBComboBox1) не имеет никого отношения к ADOQuery1. он связывается с ADOQuery2. а там(в ADOQuery2) написано select * from departments |
| Автор: Rodman 10.5.2007, 12:31 |
| покажи что ты исправил... |
| Автор: Shokan 10.5.2007, 12:43 | ||||||
| вот ваш код: я оттуда исправил выделенные красным
вообщем ADOQuery1 на ADOQuery2 и все. мне надо высести на DBComboBox1 из запроса:
поле 2 структура подключения к файлу access такая:
|
| Автор: Rodman 10.5.2007, 12:47 | ||
запрос напиши полностью,
в таком случае поле 2 будет - Name2... |
| Автор: Shokan 10.5.2007, 13:15 |
| не в этом дело. само структура таблицы departement такая. та толко два поле под именами 1 и 2 |
| Автор: Rodman 10.5.2007, 13:34 |
арегинальные имя полей... переименуй их на Name1, Name2.. из-за имен тоже могут быть ошибки... скажешь результат... |
| Автор: Shokan 10.5.2007, 14:23 | ||
| я переименовал имена полей в таблице Depaterments на id(number) & name(text) вложил этот код
но... опять выходит только самая первая строка этого толя, гребанный Административный департамент ихвеняюсь за выражения |
| Автор: Rodman 10.5.2007, 20:04 | ||
| так... бедь терпимее... во первый ты открываешь запрос далеко.. напиши...
вот такой код все что надо выведет... иначе вылажуй базу и исходник - гляну... |
| Автор: Shokan 11.5.2007, 05:26 |
| Вот ---> |
| Автор: Shokan 11.5.2007, 05:27 |
| вот исходник программы |
| Автор: Rodman 11.5.2007, 08:50 | ||
Name - зарезервированное слово (тебя аксесс должен был предупредить), а в таком случае его нужно брать в [name] PS: никогда не называй поля одним словом... используй динный названия, типа - NameUser или FIOName...
вот этот код у меня вывел все. только внимательно его прочитай, заполнение в создании формы висит... |
| Автор: Shokan 11.5.2007, 11:32 | ||||||
| все заработала! спасибо большое. дело не в комбо боксе, оказывается в adoquery. не знаю теперь... в пхп есть форма:
и берешь значении выбранного так скажем Selecta
как на дельфи все это проиходит? я сам решил вот так: при выборке сразу же брать значения комбо бокса и вставлять его переменным в sql запрос другого ADOQuery(через который подключается dbgrid) что бы у меня при выборке люди выберались с того департамента. правильно ли размышляю? как дальше с синтаксисом помогите
|
| Автор: Rodman 11.5.2007, 12:02 | ||
|
| Автор: Shokan 11.5.2007, 13:21 | ||
Извеняюсь за тупизм:
Prm1 откуда передается? а оператор ParamByname он вообще не определяет |
| Автор: Rodman 11.5.2007, 14:41 | ||
это и есть твой параметр... подобный твоему $depart...
|
| Автор: Shokan 14.5.2007, 05:45 |
| Здраствуйте! мой следующий вопрос не подходит к теме, но я продолжаю что бы была лутче понятна сетуация моих вопросов. DBComboBox1.Text- у меня выдодится названия(name) а не Id. можно ли сделать какое то скрытое поле для передачи параметра? потому что в таблице Personal значения Department переданы через Id. вышепоказанном коду дельфи ругается на эту строку: adoquery1.ParamByname('Department.Id').Value:=DBComboBox1.Text; ...... //[Error] Unit1.pas(122): Undeclared identifier: 'ParamByname' //[Error] Unit1.pas(122): Missing operator or semicolon вроде все нормально? или их надо заранее задать на свойствах adoquery1 в Object inspector-e? |
| Автор: Rodman 14.5.2007, 09:06 | ||||||
| Shokan, запрос из adoquery1 в студию... Добавлено через 10 минут и 40 секунд
а потом передавать запросу
|
| Автор: Shokan 14.5.2007, 15:07 | ||
| все. вроде бы решил. поставил DBLookupComboBox1 в место комбобокса прописал следуюшее
|