2012-05-17 2 views
0

Я новичок в Access и vb, и мне не удалось получить результат, что я собираюсь получить, надеюсь, что я разрешу с вашей помощью ребятакак заполнить текстовое поле значением базы данных на основе изменения combobox в доступе

-> мой доступ к базе данных содержит одну таблицу со следующими полями ПгвЬЫате Lastname MiddleName телефон

у меня есть два комбо коробки и две текстовые

  1. combobox- заселяет Firstname и на основе этого выбора другой выпадающий должен заполнить с последним именем, которое я успешно сделал с помощью Me.Combo2.Requery

, но я не знаю, как заполнить средний и телефон в текстовых полях

здесь я терплю неудачу в отображении записей и ConnectionString с моим столом и получать результат на значение текстового поля может любую помощь по этим

+0

Вы работаете в MS Access? Используете ли вы Jet/ACE или какой-либо другой задний конец? Если вы работаете в MS Access с Jet/ACE, почему вы используете строку подключения и почему вы просто не привязали свою таблицу или запрос к форме? – Fionnuala

+0

Спасибо за ваш ответ, я использую ms-доступ с vb, как связать результат запроса с значением текстового поля? –

+0

Что вы подразумеваете под vb? VB.Net, VBA? Вы работаете в рамках самого доступа? Если это так, это VBA. – Fionnuala

ответ

0

Вы до сих пор не сказали, где строка соединения приходит и почему. Большим преимуществом Access является то, что он быстрый и простой, по большей части вам не нужны строки подключения.

Сначала выберите таблицу, затем выберите форму для создания. Это создаст форму , привязанную к таблице. Вы могли бы сначала создать запрос и выбрать его.

Все. У вас есть форма, отображающая ваши данные. Ключом к этому является лист свойств для формы, который вы можете найти, переключившись на проектный вид и дважды щелкнув маленький квадрат в левом верхнем углу формы под именем формы. В листе свойств будет отображаться имя таблицы или запроса на вкладке «Данные» в разделе «Источник записи». Вы можете, конечно, установить это свойство вручную.

Form property sheet

Теперь вы можете добавить выпадающий выбрать записи, но вы не должны есть навигационные кнопки в нижней части формы.

Чтобы добавить выпадающий список, который выбирает записи в вашей форме, вы должны сначала связать набор записей с формой, используя приведенные выше шаги. Затем убедитесь, что мастер выбран для панели инструментов. Если вы не отменили его, он будет выбран. Теперь выберите combobox из панели инструментов, он откроет мастер.

Combobox wizard

Выберите найти запись на моей форме и нажмите рядом выберите соответствующий ID поля/колонки и любые другие поля, которые вам нужны. Когда мастер завершит работу, в MS Access 2010 (и, вероятно, в 2007 году) он добавит встроенный макрос, который найдет вашу запись, а в более ранних версиях он добавит код. Другие свойства, установленные с помощью мастера будет выглядеть примерно так:

Row Source : SELECT ID, Firstname, Lastname FROM Table1 
Column Count : 3 
Column Widths : 0cm;2.54cm;2.54cm 

Ваша таблица должна иметь идентификатор, добавьте перед тем, как начать, если он не делает. Мастер не добавит контрольный источник, если этот параметр выбран, потому что он не нужен, на самом деле было бы катастрофой добавить контрольный источник в комбо, которое находит записи. Еще раз, вы можете сделать это вручную.Код, чтобы найти запись может выглядеть примерно так:

Private Sub MyCombo_AfterUpdate() 
    With Me.Recordset 
     .FindFirst "ID=" & Me.MyCombo 
    End With 
End Sub 

Это работает, потому что связанный столбец комбо установлен в 1, то первое поле оператора выбора, который является ID.

комбо включает в себя два других полей/столбцов, и вы можете обратиться к ним в текстовом поле, установив источник управления текстового поля в:

= MyCombo.Column(2) ''Lastname 

Где вы подсчитываете столбцы от нуля:

Row Source : ID (0), Firstname (1), Lastname (2) 

Каскадные комбо - это совсем другая история, и вы можете прочитать ее здесь How to synchronize two combo boxes on a form in Access 2002 or in Access 2003 и здесь Is there a simple way of populating dropdown in this Access Database schema?

Смежные вопросы