vb.net + ms access

Era.123

Well-known member
  • Jul 28, 2010
    1,873
    567
    113
    on Earth
    machanzla mama vb program ekak liyanwa...database eka thiyenne access walin..

    mata database eke thiyena data combo box ekak haraha textbox ekakta gana ona....

    ekiyanne combobox ekata data populate karanna puluwan... eka ok... but combo box eken data 1 select karama eke wena detail ekak text box ekakta ganna ona....
    as an example : combo box eken id eka select karama name eka text box 1 ta gnnawa wage wadak....

    poddak vb.net + ms access knwladge eka thiyna kenek coding ekata help 1k dennakooo

    thnkz wewa....
    :rolleyes::rolleyes::yes::yes:
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,156
    4,059
    113
    invoke db "Injected Memory"
    vb danne kzonnaya
    oota kiyapn machn :D

    පල ගෙම්බා යන්න, :D

    මචො Era.123, උබට වෙන්න ඕන Combo Box එකේ තියෙන එක TextBox එකට ගන්නද?
    එහෙම නැත්නම් Combo එකේ 1 Select කරාම Textbox එකට Apple කියලා ගනන්ද?

    key-value pairs ?
     
    Last edited:

    Pathumpiyasa

    Active member
  • Sep 5, 2013
    483
    165
    43
    if you need more help contact me

    Public Class MyListItem
    Private mText As String
    Private mValue As String

    Public Sub New(ByVal pText As String, ByVal pValue As String)
    mText = pText
    mValue = pValue
    End Sub

    Public ReadOnly Property Text() As String
    Get
    Return mText
    End Get
    End Property

    Public ReadOnly Property Value() As String
    Get
    Return mValue
    End Get
    End Property

    Public Overrides Function ToString() As String
    Return mText
    End Function
    End Class

    ---------SET VALUE-------------------------------------------------------

    DadaReader = SqlSelect("select * from Paymentrule")
    If DadaReader.HasRows Then
    Do While DadaReader.Read
    cmboPaymentrule.DisplayMember = DadaReader("name")
    cmboPaymentrule.ValueMember = DadaReader("PaymentruleID")
    cmboPaymentrule.Items.Add(New MyListItem(DadaReader("name"), DadaReader("PaymentruleID")))
    Loop
    End If

    -----GET Value------------------------------------------------------------------------
    Dim Paymentruleid As MyListItem = CType(cmboPaymentrule.SelectedItem, MyListItem)

    aa =Paymentruleid.Value
     
    Last edited:

    Era.123

    Well-known member
  • Jul 28, 2010
    1,873
    567
    113
    on Earth

    පල ගෙම්බා යන්න, :D

    මචො Era.123, උබට වෙන්න ඕන Combo Box එකේ තියෙන එක TextBox එකට ගන්නද?
    එහෙම නැත්නම් Combo එකේ 1 Select කරාම Textbox එකට Apple කියලා ගනන්ද?

    key-value pairs ?

    මෙහෙමයි මචො මට ඕන combo box එකේ තියෙන data 1k සිලෙක්ට් කරාම එකේ වෙන value 1k textbox එකට ගන්න.... combo box 1ta data ගන්න පුලුවන් eken txtbox 1ta pass karaගන්නේ කොහොමද කියන එකයි තේරෙන්නේ නෑත්තේ....
     

    smother

    Well-known member
  • Jan 27, 2009
    19,902
    1,483
    113
    36
    Six Feet Under
    mama VB karanne na, Net eken baluwam thibba, uba kiyawala therum ganin

    loading data to combobox
    Private Sub FillCombo()
    Try
    'Dim fillcon As New OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path to access file.mdb;")

    Dim asql As String = ("SELECT LastName +', '+ FirstName AS FullName FROM tbleMember order by Lastname")

    Dim da As New OleDbDataAdapter(asql, MyConn)

    Dim ds As New DataSet

    da.Fill(ds)

    cmbName.ValueMember = "FullName"

    cmbName.DataSource = ds.Tables(0)

    cmbName.SelectedIndex = 0

    Catch ex As Exception

    MsgBox("ERROR : " & ex.Message.ToString)

    End Try

    End Sub

    another Ex;
    Dim dt As New DataTable()
    Dim connStr As String = "Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True"
    Dim sqlstr As String = "SELECT EmployeeID, FirstName, LastName, FirstName + ' '+LastName AS FullName " _
    & "FROM Employees"
    Dim dataAdapter As New SqlDataAdapter(sqlstr, connStr)
    dataAdapter.Fill(dt)
    dataAdapter.Dispose()
    ComboBox1.DataSource = dt
    ComboBox1.DisplayMember = "FullName"
    ComboBox1.ValueMember = "EmployeeID"

    ComboBox1.SelectedIndex = -1
    AddHandler ComboBox1.SelectedInde


    codes displaying into textbox..
    Private Sub cmbName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbName.SelectedIndexChanged
    Dim asql As String = ("SELECT * FROM tbleMember where LastName='" & cmbName.Text & "'")
    MyConn.Open()
    Dim cmd As New OleDbCommand
    cmd.CommandText = asql
    cmd.Connection = MyConn
    dr = cmd.ExecuteReader



    If dr.Read = True Then
    txtFormNo.Text = dr("FormNo")
    End If
    MyConn.Close()
    End Sub
     

    Era.123

    Well-known member
  • Jul 28, 2010
    1,873
    567
    113
    on Earth
    dan programming patta wadiya na ban, onna damma mata therum ganna puluwan examples tikak set una, ubata kohomada balala kiyapan :D

    meka matath set una ban.... balamu poddak eha mehea karala....meke reader eka declare wennne na ban.... podi aulak thiyene eka thamii...aney thankz buddy...
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,156
    4,059
    113
    invoke db "Injected Memory"
    1. ඌ vb.net දන්නේ නැ :dull: සොන්නය දැන් රිදිලා දුවගෙන ඒවි

    නාකි ඉබ්බා vb.net ප්‍රවීනයා නේද :D කෝ කියලා දීපංකො :D පොඩි කේස් එකක්නෙ,,, :P

    මචො, ඕක කරන්න ක්‍රම ගොඩක් තියෙනවා,
    Key-Value Pairs,
    Value-List Items,
    DisplayMember + ValueMember,
    Type,
    වෙනම Class එකක් අරගෙන ඒක Object එකක් විදියට Combo එකට දාගෙන,
    තව ඕන තරම් ක්‍රම තියෙනවා, .net 4.0 වගේ වෙනකොට ක්‍රම 20 ක් විතර තියෙනවා ඕක කරගන්න පුලුවන්,'

    ඒත් මගේ අද්දැකීම් වල හැටියට හොදම දේ තමයි.
    Combo box එකේ Change Event එකට හරි Mouse Release එකෙන් හරි SQL Query එකක් Run කරලා Combo එකේ Select කරපු එකට අදාල අනිත් data ටික ආයෙත් පාරක් Database එකෙන් ගන්න.



    ඒකෙ තියෙන වාසි තමයි,
    1. Combo එකේ Load එක අඩු නිසා Data Load වෙන්න ගොඩක් වෙලා යන්නෙ නැ,
    2. Program එක ඉක්මනට response කරනවා,
    3. Memory එක අඩුවෙන් පාවිච්චි වෙන්නෙ,
    4. විශාල Items ප්‍රමානයක් එක්ක උනත් වැඩ කරන්න පුලුවන්,
    5. ප්‍රශ්නයක් ආවම ලෙඩේ හොයාගන ගොඩක් ලේස්යි.
    6. සරලයි
    8. Database එක කිහිපදෙනක් Update කරත් මිලි තත්පර කිහිපයක් ඇතුලට වෙනස් උන Data උනත් ගන්න පුලුවන්.
    9. සීමාවක් නැතුව අපිට අවශ්‍ය columns ගානක් ගන්න පුලුවන්

    මම vb.net කරන්නෙ නැ, Code කැල්ලක් net එකෙන් උස්සලා දාන්නම්
    දැන් ක්‍රමේ දන්න නිස try එකක් දෙන්න.

    Code:
    ComboBox1_SelectedIndexChanged(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    Dim con As OleDbConnection
    Dim sql As String 
    str = “Provider=Microsoft.Jet.oledb.4.0;Data Source=C:\student.mdb;”
    con = New OleDbConnection(str)       
    sql = “select * from students where roll='” & CType(ComboBox1.SelectedItem, String) & “‘”
    Dim cmd As OleDbCommand  
    Dim r As OleDbDataReader  
    Try  
       con.Open() 
       cmd = New OleDbCommand(sql, con)  
       r = cmd.ExecuteReader() 
       If r.Read Then  
         sname.Text = r(“name”)
         mobile.Text = r(“mobile”)   
         email.Text = r(“email”)
       Else
         sname.Text = “” 
         roll.Text = “”
         mobile.Text = “” 
         email.Text = “” 
         MessageBox.Show(“No Information  found”)  
       End If           
         con.Close()    
    Catch ex As OleDbException 
         MsgBox(ex.Message, MsgBoxStyle.Critical, “Oledb Error”)   
    Catch ex As Exception   
         MsgBox(ex.Message, MsgBoxStyle.Critical, “General Error”)
    End Try   
    End Sub