VBA:ssa MSComm ja Recordset

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?
2450
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

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ä.

Äänestä
  • 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

    Äänestä

Kommentoi aloitusta


problem kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu