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

327

    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. Tärkeä kysymys!

      Haluatko sinä, mies, minut?
      Ikävä
      96
      1852
    2. Asiallinen lähestyminen

      Mitä on asiallinen lähestyminen?? Tietääkö tai tajuaako kukaan, varsinkaan miehet??? Eilen NELJÄNNEN kerran jouduin isk
      Sinkut
      176
      1377
    3. Jennika Vikman avoimena - Isosisko Erika Vikman ohjeisti napakasti Tähdet, tähdet -kisaan: "Älä.."

      Jennika ja Erika - niin ovat kuin kaksi marjaa! Ilmeiltään, ääneltään ja eleiltään hyvinkin samanlaiset - toinen on kyll
      Suomalaiset julkkikset
      16
      1228
    4. En tiedä..

      Yhtään minkälainen miesmaku sinulla on. itse arvioin sinua moneenkin otteeseen ja joka kerta päädyin samaan lopputulokse
      Ikävä
      106
      1157
    5. Milloin viimeksi näit ikäväsi kohteen?

      Oliko helppo tunnistaa hänet? Millaisia tunteita tuo näkeminen herätti sinussa?
      Ikävä
      63
      1112
    6. Mitäs nainen

      Meinaat tehdä viikonloppuna.
      Ikävä
      87
      976
    7. Suhde asiaa

      Miksi et halua suhdetta kanssani?
      Ikävä
      81
      974
    8. Kirjoita nainen meistä jotain tänne

      tai minusta, ihan mitä haluat. Niinkin voi kirjoittaa, etteivät muut tunnista, esim. meidän kahdenkeskisistä jutuista. K
      Ikävä
      72
      959
    9. Vedalainen metafysiikka

      Termi ”metafysiikka” kuuluu Aristoteleelle. Metafysiikka tarkoittaa ”fysiikan jälkeen” eli tietoa siitä, mikä on tavalli
      Hindulaisuus
      289
      793
    10. Ai jaa sinä oletkin ahnas

      Ja romanttinen luonne, nyt vasta hiffasin että olet naarastiikeri. Parempi myöhään kuin ei milloinkaan.
      Ikävä
      107
      768
    Aihe