Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Σύνδεση πινάκων - φορμών

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-07-22, 13:35
Όνομα: Βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 25-12-2017
Μηνύματα: 19
Προεπιλογή DMin - DMax σε text field

Καλησπέρα σε όλους. Θα ήθελα τη βοήθειά σας. Έχω φτιάξει μια πολύ απλή βάση για έναν φίλο που δουλεύει σε οδοντιατρείο.

Η βάση έχει δύο πίνακες (ΑΣΘΕΝΗΣ , ΕΞΕΤΑΣΗ). Στον πρώτο πίνακα έχω βάλει όλα τα πεδία σχετικά με έναν Ασθενή-Πελάτη και στον δεύτερο πίνακα πεδία που αφορούν μία εξέταση (είδος , ημερομηνία κτλ).

Σε ερώτημα έχω βάλει να αναζητεί ραντεβού με Ημερομηνίες ( Between [Από Ημερομηνία] And [Έως Ημερομηνία] ) και μία φόρμα από το συγκεκριμένο ερώτημα. Όλα καλά μέχρι εδώ.

Θέλω στην ίδια φόρμα σε 2 textfield , να εμφανίζεται το χρονικό διάστημα που αναζητεί. Προσπάθησα με DMin και DMax αντίστοιχα αλλά που βγάζει σφάλμα.

Ευχαριστώ πολύ.

Τελευταία επεξεργασία από το χρήστη jamman : 17-07-22 στις 10:32. Αιτία: άλλο θέμα
Απάντηση με παράθεση
  #2  
Παλιά 17-07-22, 16:52
Όνομα: Βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 25-12-2017
Μηνύματα: 19
Προεπιλογή

Άκυρο. Το βρήκα.

Στο ερώτημα , πρόσθεσα 2 πεδία , startdate , enddate και τα textfields παίρνουν από κει τις τιμές που πληκτρολογεί ο χρήστης.

Το μεγάλο μου θέμα τώρα είναι το εξής. Αν το ιατρείο είναι ανοιχτό από 09:00 έως 20:00 , με ποιον τρόπο μπορώ να βάλω ένα cmb το οποίο θα περιλαμβάνει τις ώρες έτσι ώστε όταν θέλει να κλείσει ένα ραντεβού για μια μέρα , να φαίνονται οι διαθέσιμες ώρες; Τα ραντεβού θα κλείνονται ανά μισάωρο.

Είδα ένα βίντεο που κάποιος το έκανε με macro αλλά με μπέρδεψε πιο πολύ. Ανεβάζω και ένα δείγμα της εφαρμογής.

Δεν ξέρω αν αυτό γίνεται και μέσω outlook.

Ευχαριστώ εκ των προτέρων.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip patient.zip (231,6 KB, 7 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη jamman : 17-07-22 στις 18:43.
Απάντηση με παράθεση
  #3  
Παλιά 24-07-22, 12:40
Όνομα: Βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 25-12-2017
Μηνύματα: 19
Προεπιλογή

Καλημέρα και πάλι σε όλους.

Μάλλον όλοι διακοπάρουν.

Με πολύ κόπο γιατί γνωρίζω τα βασικά πάνω στη VB , κατάφερα να φτιάξω τα παραπάνω.

Αυτό που αντιμετωπίζω τώρα είναι ότι έχω μία φόρμα ΡΑΝΤΕΒΟΥ με subForm ΕΞΕΤΑΣΗ.
Στη main form έχω ένα combo box με τιμές που παίρνει από την έναρξη - λήξη του ιατρείου (δλδ. 09:00 - 09:30 έως 20:00). Μόλις επιλέγω από εκεί την τιμή , αυτή αποθηκεύεται στην subform.

Όμως , αν η καταχώρηση γίνει από τη φόρμα ΕΞΕΤΑΣΗ , δεν αναγνωρίζεται στη φόρμα ΡΑΝΤΕΒΟΥ , έτσι ώστε να αποκλείεται η τιμή από το combo box.

Βρήκα τον παρακάτω κώδικα και προφανώς κάτι πρέπει να μετατρέψω. Αυτό καταλαβαίνω τουλάχιστον. Για ημερομηνία χρησιμοποιώ τη σύντομη ημερομηνία με μορφή dd\mm\yyyy και για την ώρα HH:mm.

Private Sub cboTime_Enter()

Dim i As Date, n As Integer, oRS As DAO.Recordset, sSQL As String
Dim dLowerbreak As Date, dUpperBreak As Date, dDuration As Date
Dim dLowerPrecision As Date, dUpperPrecision As Date

cbotime.RowSourceType = "Value List"
cbotime.RowSource = ""

If IsNull(txtStart) Then Exit Sub Else i = txtStart
If Me.NewRecord = True Then
DoCmd.RunCommand acCmdSaveRecord
End If

sSQL = "SELECT ID, ΗΜΕΡΟΜΗΝΙΑ, ΩΡΑ"
sSQL = sSQL & " FROM qrySubformAppoints"
sSQL = sSQL & " WHERE ID= " & Me.ID & _
" AND ΗΜΕΡΟΜΗΝΙΑ=#" & Me.txtAppointDate & "#"

Set oRS = CurrentDb.OpenRecordset(sSQL)

dDuration = TimeValue("00:30:00")
dLowerbreak = Break - TimeValue("00:30") 'Break is a field
dUpperBreak = Break + TimeValue("03:30")

If oRS.RecordCount = 0 Then
Do
If i <= dLowerbreak Or i >= dUpperBreak Then
cbotime.AddItem i
End If
i = i + dDuration
Loop Until i >= txtEnd
Else
Do
If i <= dLowerbreak Or i >= dUpperBreak Then
dLowerPrecision = i - TimeValue("00:05")
dUpperPrecision = i + TimeValue("00:05")
oRS.FindFirst "[ΩΡΑ] Between #" & dLowerPrecision & "# And #" & dUpperPrecision & "#"
If oRS.NoMatch Then cbotime.AddItem i
End If
i = i + dDuration
Loop Until i >= txtEnd
End If
oRS.Close

End Sub

Μπορεί κάποιος να βοηθήσει; Ξέρω είναι πολύ προχωρημένο για μένα αλλά αφού τα κατάφερα μέχρι τώρα , θέλω να το παλέψω. Ευχαριστώ.

Τελευταία επεξεργασία από το χρήστη jamman : 24-07-22 στις 13:11.
Απάντηση με παράθεση
  #4  
Παλιά 25-07-22, 13:46
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Στη συνημμένη ΒΔ παρουσιάζω μία πρόταση για την καταχώρηση ραντεβού.

Η ΒΔ περιέχει:

1) Τον πίνακα tblRantevou, όπου αποθηκεύονται τα προσωπικά στοιχεία του ατόμου που αφορά το ραντεβού, η αιτία του ραντεβού η ημερομηνία και η ώρα.

Σημειώνεται ότι τα ραντεβού κλείνονται ανά μισή ώρα από τις 09:00 μέχρι και τις 21:00.

2) Τη φόρμα frmRantevou η οποία βασίζεται στον πίνακα tblRantevou.

Η φόρμα εμφανίζει τα στοιχεία των ραντεβού και διευκολύνει στην καταχώρηση των στοιχείων τους.

Όταν συμπληρώνεται μία ημερομηνία για ραντεβού, ο κώδικας που υπάρχει στη φόρμα, βρίσκει τις ώρες που είναι ελεύθερες για ραντεβού και τις εμφανίζει στο σύνθετο πλαίσιο.

Το σύνθετο πλαίσιο είναι αδέσμευτο και η ιδιότητά του Row Source Type έχει οριστεί σε:
Value List.

Με κλικ σε κάποια ώρα του πλαισίου, αυτή αντιγράφεται στο δεσμευμένο πλαίσιο κειμένου fTime, για να αποθηκευτεί μαζί με τα άλλα στοιχεία στον υποκείμενο πίνακα.

Λεπτομέρειες στον κώδικα.
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb accRantevou.accdb (872,0 KB, 24 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 25-07-22, 16:54
Όνομα: Βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 25-12-2017
Μηνύματα: 19
Προεπιλογή

Καλησπέρα Γιώργο και ευχαριστώ για την απάντησή σου.

Επειδή για τον Ασθενή υπάρχουν περισσότερα πεδία δεν ήθελα να υπάρχει μόνο ένας πίνακας , γι'αυτό δημιούργησα ξεχωριστό για την Εξέταση. Υπάρχει περίπτωση να δοθεί άλλη λύση;

Συνολικά υπάρχουν 3 Ασθενείς. Α,Β,Γ.

Οι Α και Β καταχωρήθηκαν μέσα από τη φόρμα ΡΑΝΤΕΒΟΥ. Ο Γ καταχωρήθηκε από τη φόρμα Ασθενής και δεν εμφανίζεται στη subform Εξέταση.

Επισυνάπτω τη σχετική εφαρμογή έως εκεί που την έχω φτάσει.

Τελευταία επεξεργασία από το χρήστη jamman : 25-07-22 στις 19:22.
Απάντηση με παράθεση
  #6  
Παλιά 25-07-22, 18:49
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα Βασίλη

Για τη σωστή δημιουργία μιας βάσης δεδομένων, απαιτείται κάποια υποδομή γνώσεων.

Πριν συνεπώς προχωρήσεις, θα πρότεινα, να μελετήσεις προσεκτικά το παρακάτω άρθρο:

https://support.microsoft.com/el-gr/...4-bd4f9c9ca1f5

Αυτό θα σου λύσει τις περισσότερες απορίες και θα σου δώσει τη δυνατότητα να οργανώσεις σωστά (σε πίνακες) τα δεδομένα, που θα παρακολουθείς στη ΒΔ του Ιατρείου.

Το παράδειγμα, που ανέβασα, ήταν για να δείξω πως μπορούμε να δούμε τις ελεύθερες ώρες για ραντεβού σε μία συγκεκριμένη ημερομηνία.

Ο πίνακας tblRantevou (και η αντίστοιχη φόρμα) θα μπορούσε στη θέση των προσωπικών στοιχείων να έχει μόνο το ID του ασθενή και να παίρνει τα στοιχεία από το πίνακα των ασθενών.
Απάντηση με παράθεση
  #7  
Παλιά 25-07-22, 19:22
Όνομα: Βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 25-12-2017
Μηνύματα: 19
Προεπιλογή

Ευχαριστώ και πάλι Γιώργο. Θα το μελετήσω.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Σύνδεση πινάκων... Meteora Access - Ερωτήσεις / Απαντήσεις 1 02-01-15 20:06
Σύνδεση πινάκων Σκτετε Access - Ερωτήσεις / Απαντήσεις 3 18-02-13 05:47
[ Ερωτήματα ] Σχεδίαση - σύνδεση πινάκων σε Β.Δ. Xristos Access - Ερωτήσεις / Απαντήσεις 2 15-05-11 13:50
Σύνδεση Πινακων Meteora Access - Ερωτήσεις / Απαντήσεις 16 01-06-10 14:57
Σύνδεση πολλών πινάκων σε μια φόρμα gregory_m Access - Ερωτήσεις / Απαντήσεις 3 01-12-09 21:47


Η ώρα είναι 14:44.