Rebel Spirit86 Ответов: 1

Как заполнить значения текстового поля в combobox в базе данных VB access


Привет друзья,

Я хочу знать, как заполнить значения текстового поля в поле со списком в базе данных VB access.

или как получить значения базы данных в поле со списком при загрузке формы.

значения базы данных хранятся в другой таблице по форме 2, а поле со списком помещается на 1-ю форму, которая вводит все данные в базу данных.

кроме того, я пытаюсь сделать всплывающее окно для напоминания о дате на кнопке флажка.

Заранее спасибо

Что я уже пробовал:

вот мой код:

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub cmdExit_Click()
   End
End Sub

Private Sub CmdSave_Click()
   Set rs = New ADODB.Recordset
   rs.AddNew
   rs.Fields(CompanyName).Value = TxtCompanyName.Text
   Clear
End Sub

Private Sub UserForm_Click()
   con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\mahtab.ali\Documents\NoticeBook.mdb;Persist Security Info=False"
   rs.Open "Select * from CompanyName", con, adOpenDynamic, adLockPessimistic
   Me.fillcombo
End Sub

Sub Clear()
   ComboBox1.Value = ""
   TxtCompanyName.Text = ""
End Sub

Sub fillcombo()
   Do Until rs.EOF
      ComboBox1.AddItem rs!CompanyName
      rs.MoveNext
   Wend
End If
End Sub

[no name]

Не видя вашего кода и описания проблемы, мы не можем догадаться, что означает "не работает".

[no name]

Ладно, теперь есть код. И бегло взглянув на ваш код, я, кажется, припоминаю, что мне нужно было сначала перейти к набору записей, прежде чем пытаться повторить его. Но без описания вашей проблемы это всего лишь предположение. Изучение того, как использовать отладчик для отладки вашего кода, вероятно, расскажет вам больше.

Rebel Spirit86

спасибо за ответ.

моя проблема в том, что код не соединяет поле со списком с текстовым полем на от 2 и не получает табличных значений. иногда он выдает ошибку "несоответствие типа" и ожидаемый обработчик ошибки компилятора"

В ближайшее время я предоставлю вам все критерии.

Спасибо..

j snooze

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

Rebel Spirit86

да, Джей дремлет друг.

я обновляю основную таблицу с коллекцией комбинированного поля формы названия компании на form1 из другой таблицы, которая сохраняется названием компании в текстовом поле на form2. также загрузите значения поля со списком в форму 1.

Rebel Spirit86

теперь я использую следующий код для обновления поля со списком и удаляю новый набор записей.

private sub CmdAdd_Click()
если form2.TxtCompanyName.Текст < & gt; "" Тогда
Форма form1.CmbSelectCompany.Метод addItem форме Form2.TxtCompanyName.Текст
формы Form2.TxtCompanyName.Текст = ""
Ещё
Конец, Если
Конец Подводной Лодки

никакого прогресса..
нужна скромная помощь

1 Ответов

Рейтинг:
0

Rebel Spirit86

я нашел какой-то полезный код и изменил его в качестве своего требования, и он работает. он показывает значения в combobox, которые были обновлены в новой форме текстового поля компании.

Private Sub Form_Initialize()
On Error GoTo Form_Initialize_Err
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Database Folder\Notice Book\Notice Book project\database\Notice Book.mdb;Persist Security Info=False"
    rst.Open "SELECT DISTINCT [CompanyName] FROM CompanyDetails ORDER BY [CompanyName];", _
             cnn, adOpenStatic
    rst.MoveFirst
    With Me.CmbSelectCompany
        .Clear
        Do
            .AddItem rst![CompanyName]
            rst.MoveNext
        Loop Until rst.EOF
    End With
Form_Initialize_Exit:
    On Error Resume Next
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub
Form_Initialize_Err:
    MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
    Resume Form_Initialize_Exit
End Sub

спасибо за ваше время и помощь :)


Rebel Spirit86

Друзья, я только что получил решение, но combobox не обновляет новые добавленные значения в качестве среды выполнения, когда я закрываю проект и перезапускаю его новой добавленной записью, найденной в списке combobox.. что же теперь делать?????