Avatar billede Slettet bruger
26. august 2003 - 12:48 Der er 14 kommentarer og
1 løsning

Seriel kommunikation

Nogen idéer til hvordan jeg kan kommunikere med en seriel enhed via VBA i Access?
Det drejer sig om et display som jeg vil kunne styre.

Har forsøgt mig med:

set tmp = createobject("MSCommLib.MSComm")

men kan ikke oprettet ActiveX-objektet...
Avatar billede overchord Nybegynder
26. august 2003 - 13:08 #1
Har du registreret kontrollen foerst?
Avatar billede Slettet bruger
26. august 2003 - 13:11 #2
Jeg formoder det er en Windows-standard ocx... eller er det mig, der er gået galt i byen?
Avatar billede Slettet bruger
26. august 2003 - 13:11 #3
Altså burde den allerede være registreret !
Avatar billede overchord Nybegynder
26. august 2003 - 13:17 #4
Ja, men det er ikke sikkert at den som default er registreret i dit access projekt.
Avatar billede Slettet bruger
26. august 2003 - 13:21 #5
Jamen, du skal jo heller ikke registrere f.eks. "Scripting.FileSystemObject", når du bruger funktionen CreateObject().

Ved ikke hvordan man registerer den i Access.. kan du evt. forklare det?
Avatar billede overchord Nybegynder
26. august 2003 - 13:37 #6
Jeg bruger access 97:

Tools -> ActiveXcontrols -> Lsite over kontroller og registrering
Avatar billede Slettet bruger
27. august 2003 - 13:36 #7
Ja, komponenten er registeret... men det virker stadig ikke... ved ikk om du selv har prøvet med denne komponent?
Avatar billede overchord Nybegynder
27. august 2003 - 16:53 #8
hmm nej har ikke meget erfaring med seriel komm. Beklager :-(
Avatar billede terry Ekspert
01. september 2003 - 21:32 #9
set tmp = createobject(MSCommLib.MSComm)
Avatar billede terry Ekspert
01. september 2003 - 21:49 #10
You should be able to add a communications control from the Toolbox.

Its called Microsoft Communications Control, version .....

You add a control to a form and if you then look under Tools+references menu you will see the control is now referenced.

Example of using the control named mscomm1 which you added to the form

Private Sub Form_Load ()
  ' Buffer to hold input string
  Dim Instring As String
  ' Use COM1.
  MSComm1.CommPort = 1
  ' 9600 baud, no parity, 8 data, and 1 stop bit.
  MSComm1.Settings = "9600,N,8,1"
  ' Tell the control to read entire buffer when Input
  ' is used.
  MSComm1.InputLen = 0
  ' Open the port.
  MSComm1.PortOpen = True
  ' Send the attention command to the modem.
  MSComm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that
  ' the modem responds with "OK".
  ' Wait for data to come back to the serial port.
  Do
      DoEvents
  Buffer$ = Buffer$ & MSComm1.Input
  Loop Until InStr(Buffer$, "OK" & vbCRLF)
  ' Read the "OK" response data in the serial port.
  ' Close the serial port.
  MSComm1.PortOpen = False
End Sub

TAKEN FROM HELP!
Avatar billede terry Ekspert
01. september 2003 - 21:52 #11
without the control this works


Private Sub Command1_Click()
Dim mscomm1 As MSComm

Set mscomm1 = New MSComm

Dim Instring As String
  ' Use COM1.
  mscomm1.CommPort = 1
  ' 9600 baud, no parity, 8 data, and 1 stop bit.
  mscomm1.Settings = "9600,N,8,1"
  ' Tell the control to read entire buffer when Input
  ' is used.
  mscomm1.InputLen = 0
  ' Open the port.
  mscomm1.PortOpen = True
  ' Send the attention command to the modem.
  mscomm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that
  ' the modem responds with "OK".
  ' Wait for data to come back to the serial port.
  Do
      DoEvents
  Buffer$ = Buffer$ & mscomm1.Input
  Loop Until InStr(Buffer$, "OK" & vbCrLf)
  ' Read the "OK" response data in the serial port.
  ' Close the serial port.
  mscomm1.PortOpen = False


End Sub
Avatar billede fynbohans Nybegynder
03. september 2003 - 22:51 #12
Hvad skal der sendes og modtages til/fra det nævnte display?
Avatar billede terry Ekspert
04. september 2003 - 18:30 #13
hello.....
Avatar billede Slettet bruger
04. september 2003 - 19:42 #14
Hej terry
Har forsøgt det du har vist, men kan stadig ikke få det til at virke... :-(
Jeg får en licens-fejl når jeg forsøger at indsætte MSComm-komponentet i en Access-formular.
Avatar billede terry Ekspert
04. september 2003 - 20:00 #15
I suspect that it isnt registered, and if it isnt you more than likley dont have a license for it! I think it is included with VB 6.0 NOT Access.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester