Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
access διάβασμα παλμό γεννήτρια
Γεια σε όλο το Φόρουμ Προσπαθώ να φτιάξω μια βάση για να διαβάσω μια παλμό γεννήτρια (ROTARY ENCODER) από θύρα USB . η κατασκευάστρια εταιρία Phidget δίνει μια βιβλιοθήκη και παράδειγμα code VBA excel και σε VB.net για το encoder δίνει και 2 βάσεις για παράδειγμα Προγραμματισμού με άλλο αντικείμενο Θα ήθελα εάν γινόταν να το διαβάσω σε access για να το ενσωματώσω σε δική μου βάση Καλοδεχούμενες όλες οι ιδέες ευχαριστώ |
#2
| |||
| |||
Γεια σε όλο το Φόρουμ Νομίζω ότι μπορεί να λυθεί με σύνδεση excel προς access και μεταφορά δεδομένων κελίου Έχει απαντηθεί από τον Tasos http://www.ms-office.gr/forum/visual...in-access.html |
#3
| |||
| |||
Καλησπέρα Άννα, χωρίς να γνωρίζω κάτι για τις παλμογεννήτριες (ROTARY ENCODER), από περιέργεια, έριξα μια ματιά στη ΒΔ RFID_ClassModule_Sample.mdb και στον κώδικά της. Απ’ ότι κατάλαβα, βασική προϋπόθεση, για να τρέξει ο κώδικας, αποτελεί, να είναι εγκαταστημένη στον υπολογιστή μας η βιβλιοθήκη Phidget Library 2.1 και φυσικά συνδεδεμένη και ενεργή (On) η συσκευή. Συνήθως η βιβλιοθήκη περιλαμβάνεται σε κάποιο αρχείο *.msi και εγκαθίσταται κάνοντας διπλό κλικ. Τα παραπάνω πιστεύω περιγράφονται με λεπτομέρειες στο βιβλίο χρήσης της συσκευής. Όταν ανοίξουμε τη ΒΔ RFID_ClassModule_Sample.mdb, αν προκληθεί κάποιο λάθος, θα πρέπει να πάμε στο παράθυρο κώδικα και να ελέγξουμε, αν υπάρχει η αναφορά στη βιβλιοθήκη (Alt+F11, Tools, References, Phidget Library 2.1 (ή νεότερη). Όταν φορτώνεται η φόρμα, δημιουργείται ένα αντικείμενο (RF), με ιδιότητες και συμβάντα, που εκπροσωπεί τη συσκευή. Κάποιες ιδιότητες μπορούμε να τις ρυθμίσουμε από τα CheckBoxes της φόρμας. Ο ρόλος τους πρέπει να περιγράφεται στις οδηγίες για τη συσκευή. Στα συμβάντα RF_TagRead και RF_TagLost προστίθενται εγγραφές στον πίνακα. Για να τις δούμε ανοίγουμε τον πίνακα (διπλό κλικ) πριν κλείσουμε τη φόρμα (κλείνοντας τη φόρμα ή πατώντας το κουμπί της φόρμας, ο κώδικας τις διαγράφει). Επειδή (χωρίς τη συσκευή και τη βιβλιοθήκη) δε μπορεί να γίνει έλεγχος του κώδικα, προτείνω: Να δοκιμαστεί η ΒΔ, όπως είναι και εφόσον λειτουργεί σωστά, να προσαρμοστεί στη συνέχεια …. Αν δε λειτουργεί, θα πρέπει να επισημανθεί το σημείο του κώδικα, στο οποίο γίνεται το λάθος. Γιώργος |
#4
| |||
| |||
Γιώργο & Κώστα ευχαριστώ για το ενδιαφέρον βασική προϋπόθεση, για να τρέξει ο κώδικας, είναι εγκαταστημένη στον υπολογιστή μας η βιβλιοθήκη Phidget Library 2.1 και φυσικά συνδεδεμένη και ενεργή (On) η συσκευή. Το ROTARY ENCODER είναι μια συσκευή που μετρά τη θέση περιστροφής ενός άξονα Το Εxcell encoder simple είναι παράδειγμα από την εταιρία Phidget για κώδικα VBA Προσπαθώ να κάνω μια φόρμα access oτι κάνει το Εexcel κάτι σαν το παρακάτω |
#5
| |||
| |||
Καλησπέρα Άννα από τα μηνύματά σου δεν προκύπτει με σαφήνεια αν (σύμφωνα με τις οδηγίες του κατασκευαστή) : 1) Σύνδεσες σωστά τη συσκευή στον υπολογιστή. 2) Εγκατέστησες τον Driver της συσκευής 3) Εγκατέστησες τη βιβλιοθήκη. Υποθέτω ότι όλα αυτά τα έκανες και ότι το παράδειγμα της εταιρίας [encoder-simple.xls], λειτουργεί σωστά στον υπολογιστή σου. Θέλεις τώρα κάτι ανάλογο και στην Access. Δες μια υλοποίηση στη ΒΔ, που επισυνάπτω. Περιέχει τη φόρμα [frmencoder] για τη σύνδεση και αποσύνδεση της συσκευής και τον πίνακα [tblData], για την αποθήκευση των στοιχείων. Ο κώδικας είναι μια προσαρμογή του κώδικα που υπήρχε στο παράδειγμα του Excel. Δεν μπόρεσα να δοκιμάσω τη ΒΔ, επειδή δεν έχω τη συσκευή. Βρήκα όμως στο διαδίκτυο τη σχετική βιβλιοθήκη: Phidget-x64_2.1.8.20160222.exe και την εγκατέστησα στον υπολογιστή μου. Έτσι στον κώδικα είδα τις ιδιότητες και τα συμβάντα που υποστηρίζει το αντικείμενο encoder. Άνοιξε τη ΒΔ και πάτησε Alt+F11 για να ανοίξει το παράθυρο του κώδικα. Στη συνέχεια από το μενού Tools επίλεξε References για να ανοίξει το σχετικό παράθυρο. Πρέπει να είναι παρόμοιο με την εικόνα που επισυνάπτω. Κάνε δοκιμές και σημείωσε ακριβώς τυχόν μηνύματα λάθους. Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 27-03-16 στις 23:16. |
#6
| |||
| |||
Γιώργο ευχαριστώ Συγγνώμη που δεν έδωσα τη βιβλιοθήκη ,επειδή λείπω στη επαρχεία και θα το τεστάρω την τρίτη μια απορία το fDisplacemen = EncoderDisplacement τι καταγράφει ; Ευχαριστώ |
#7
| |||
| |||
Καλημέρα Κάθε φορά που αλλάζει η θέση (position) στη συσκευή πυροδοτείται το συμβάν OnPositionChange (Index, Time, EncoderDisplacement). Η παράμετρος EncoderDisplacement επιστρέφει το μέγεθος της μεταβολής της θέσης από το προηγούμενο συμβάν (από την προηγούμενη μεταβολή). Το πεδίο fTime στον πίνακα είναι τύπου Date/Time, όπως είδα όμως η παράμετρος Time είναι ακέραιος. Θα πρέπει συνεπώς στη σχεδίαση του πίνακα να αλλάξεις τον τύπο του πεδίου σε ακέραιο. Όπως είπα τη συσκευή δεν τη γνωρίζω. Δεν ξέρω τι μετράει, σε τι μονάδες κλπ. Τελευταία επεξεργασία από το χρήστη kapetang : 28-03-16 στις 10:10. Αιτία: αλλαγή τύπου πεδίου fTime |
#8
| |||
| |||
Γιώργο ευχαριστώ σχεδόν μου έκανες όλη τη βάση o κώδικας δεν κτυπάει και δουλεύει μια χαρά επειδή κάνω έναν αυτοματισμό (μαζί με το encoder θα βάλλω και ένα digital Switches) προσπαθώ να κάνω : Option Compare Database Option Explicit Private WithEvents Encoder As PhidgetEncoder Dim rs As DAO.Recordset Dim Switches As Boolean if Switches = False Then cmdStart_Click() = True εάν είναι False τότε να κάνει ότι γίνεται στο κουμπί START εάν ίνα True κανε ότι το κουμπί STOP Υπάρχει κάποιος παραδειγματικός κώδικας στο youtube:για το Switches Public WithEvents phid As PhidgetInterfaceKit Dim Switches As Boolean Dim lightsOn As Boolean Private Sub Form_Load() Set phid = New PhidgetInterfaceKit phid.Open Switches = False lightsOn = False Me.TimerInterval = 1000 End Sub Private Sub Form_Timer() Dim currentTime As String Me.lblClock.Caption = Format(Now(), "hh:nn:ss") Me.lblDate.Caption = Format(Now(), "dddd dd, mmm-yyyy") currentTime = Format(Now(), "hh:nn:ss") txtLightAlarm.SetFocus If (txtLightAlarm.Text = currentTime) Then phid.OutputState(1) = True phid.OutputState(2) = True phid.OutputState(3) = True phid.OutputState(4) = True phid.OutputState(5) = True phid.OutputState(6) = True phid.OutputState(7) = True lightsOn = True End If txtSwitchesSwitches Alarm.SetFocus If (txtSwitchesAlarm.Text = currentTime) Then Switches = True phid.OutputState(1) = True phid.OutputState(2) = True phid.OutputState(3) = True phid.OutputState(4) = True phid.OutputState(5) = True phid.OutputState(6) = True phid.OutputState(7) = True End If If (Switches = True And phid.OutputState(1) = False) Then phid.OutputState(1) = True phid.OutputState(2) = True phid.OutputState(3) = True phid.OutputState(4) = True phid.OutputState(5) = True phid.OutputState(6) = True phid.OutputState(7) = True ElseIf (Switches = True And phid.OutputState(1) = True) Then phid.OutputState(1) = False phid.OutputState(2) = False phid.OutputState(3) = False phid.OutputState(4) = False phid.OutputState(5) = False phid.OutputState(6) = False phid.OutputState(7) = False ElseIf (Switches = False And lightsOn = False) Then phid.OutputState(1) = False phid.OutputState(2) = False phid.OutputState(3) = False phid.OutputState(4) = False phid.OutputState(5) = False phid.OutputState(6) = False phid.OutputState(7) = False End If End Sub Κάθε βοήθεια ευπρόσδεκτη ευχαριστώ |
#9
| |||
| |||
Καλησπέρα Άννα δες τη συνημμένη βάση. Πρόσθεσα μια φόρμα και μετέφερα τον κώδικα, που βρήκες. Υπενθυμίζω ότι χρειάζεται αναφορά στη σχετική βιβλιοθήκη. Λεπτομέρειες στο #5 μήνυμά μου. |
#10
| |||
| |||
Γιώργο ευχαριστώ τον κώδικα τον έστειλα για παράδειγμα Προσπαθώ στη προηγούμενη βάση να βάλω (Switches) μαζί με το encoder ανοίγει και ένα φωτοκύτταρο Switches ON/OFF και είναι σε θέση ΟΝ όταν βρίσκει εμπόδιο γίνεται OFF εγώ προσπαθώ να κάνω εάν Switches είναι False τότε να κάνει ότι γίνεται στο κουμπί START εάν είναι True κάνε ότι το κουμπί STOP πάλι ευχαριστώ πολύ |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Διάβασμα τιμής από σειριακή θύρα | vassilism | Access - Ερωτήσεις / Απαντήσεις | 4 | 10-01-12 12:46 |
Διάβασμα τιμής από αρχείο txt | vassilism | Access - Ερωτήσεις / Απαντήσεις | 4 | 02-11-11 16:50 |
Διάβασμα τιμής απο πεδίο του 1ου Record ενός πίνακα - DAO | Meteora | Access - Ερωτήσεις / Απαντήσεις | 1 | 10-04-09 14:25 |
Η ώρα είναι 07:17.