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

340

    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. Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta

      https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi
      Kotka
      94
      2410
    2. Olen tosi outo....

      Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap
      Ikävä
      21
      2300
    3. Vanhalle ukon rähjälle

      Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen
      Ikävä
      19
      1898
    4. Maisa on SALAKUVATTU huumepoliisinsa kanssa!

      https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663
      Kotimaiset julkkisjuorut
      77
      1532
    5. Oletko sä luovuttanut

      Mun suhteeni
      Ikävä
      106
      1497
    6. Hommaatko kinkkua jouluksi?

      Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k
      Sinkut
      161
      1258
    7. Aatteleppa ite!

      Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.
      Maailman menoa
      257
      1062
    8. Mitä sanoisit

      Ihastukselle, jos näkisitte?
      Tunteet
      70
      981
    9. Onko se ikä

      Alkanut haitata?
      Ikävä
      78
      929
    10. Omalääkäri hallituksen utopia?

      Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha
      Maailman menoa
      174
      903
    Aihe