VBA:ssa MSComm ja Recordset

problem

terve, Onko mahollista päivittää Access-tietokantaa automaattisesti recordset objektin avulla.

Eli avaan yhteyden com-porttiin MSCommilla, lisään tietoa mitä portille tulee Recordsetillä taulussa olevaan tietueesee ja lopuksi suljen portin.

Siis tämän tyyylin makro Accessii vba:lla onkos mahollista?

Miten nuo MScomm ja recodrset tulisi yhdistää että homma toimii?

2

411

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • mmm

      koodia suoraan ilmasta:

      ...koodia...
      MsComm.PortOpen = True
      ...koodia...

      Private Sub MsComm_OnComm()

      dim rst as recordset
      set rst = currentdb.openrecordset("SELECT * FROM Taulu WHERE Jokukenttä = 'arvo'")
      rst.fields("Kenttänimi") = MsComm.Input
      rst.close
      set rst = Nothing

      end sub

      ...koodia...
      MsComm.PortOpen = False
      ...koodia...

      Referenssit pitää olla DAO 3.6:een muistaakseni ainakin. MsComm pitää olla rekisteröity oikein. Asynkronisuus tuottaa varmaan päänvaivaa, tiedoston loppumerkki auttanee tässä.

      • problem

        tommoseen päädyin...miltä vaikuttaa gurujen silmin?

        Private Sub Form_Load()

        MSComm1.CommPort = 1
        MSComm1.Handshaking = 0
        MSComm1.Rthreshold = 0
        MSComm1.Settings = "9600,N,8,1"
        MSComm1.InputLen = 0
        MSComm1.PortOpen = True

        End Sub


        Private Sub MSComm1_OnComm()
        AddScanRecords_Open
        End Sub

        Sub AddScanRecords()

        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim StartTime As Date

        StartTime = Now()

        Set cn = CurrentProject.Connection
        Set rs = New ADODB.Recordset

        rs.Open "ScanResults", cn, adOpenKeyset, adLockOptimistic ' ScanResults is the name of the table

        Do While Now() < StartTime TimeSerial(0, 0, 1) ' test run for one second - can Add hours Or minutes
        rs.AddNew
        ' this is where you would wait for and insert the bar code.
        rs![BarCode] = MSComm1.Input ' BarCode is the field name you would replace "testthissub" with the bar code input
        rs![ScanDate] = Now()
        rs.Update
        Loop

        MSComm1.PortOpen = False ' Close the com port

        End Sub


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      64
      3870
    2. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      66
      3652
    3. Kiva kun SDP alkaa hallitsemaan Suomea

      Vanhat hyvät ajat taas palaavat ja kansa vaurastuu. Muistatteko vielä Sorsan aikakauden? Silloin Suomessa tehtiin jopa
      Maailman menoa
      109
      3495
    4. SDP:n lyhyt selviytymisopas

      1. Komitea on vastaus, oli kysymys mikä tahansa Jos maailma on muuttumassa tai jossain palaa, demari ei hätiköi. Ensin p
      Maailman menoa
      64
      2871
    5. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      73
      2706
    6. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      56
      2241
    7. Keskisen kyläkaupassa Temun vaatteita myynnissä?

      Siis mitä? Miksi siis ei itse tilaisi Temusta samoja.
      Maailman menoa
      53
      1504
    8. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      41
      1155
    9. Toivoisitko

      Toivoisitko, että kaivattusi olisi introvertimpi tai extrovertimpi? Itsenäinen tai tarvitsisi enemmän apua/sinua? Osoit
      Ikävä
      117
      1142
    10. Nanna Karalahti :Paljastus bisneksistä Jere Karalahden kanssa!

      Ottanut yhteyttä seiskalehden toimittajaan ja kertonut totuuden yhteisestä Herotreeni-nimisestä verkkovalmenuksesta.
      Kotimaiset julkkisjuorut
      127
      1138
    Aihe