Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Access - Ροη Προγραμματος

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Dimitris_tHEO
Δημοσιεύσεις: 16
Εγγραφή: 19 Ιαν 2006 14:19

Access - Ροη Προγραμματος

Δημοσίευση από Dimitris_tHEO » 04 Μαρ 2007 00:58

Στη κεντρικη φορμα που εχω δημιουργηση διαλεγεις ετως απο κατω μηνα και τελος καταγραφεις ποτε ησουν on-line δηλωνοντας : ημερομηνια ,ζωνη -Α ή Β ή ΑΒ "εδω ειναι και το προβλημα μου"- και τελος ωρες και λεπτα.Το πεδιο ζωνη ειναι ενα συνθετο πλαισιο οπου τα δεδομενα τα περνει απο τον πινακα ZoniT.
Διπλα εχω τοποθετηση ενα πλαισιο κειμενου οπου αυτοματα θελω να υπολοδιζει το κοστος .

Ειδα οτι με την IIf δεν γινεται δουλεια "χωρις να ειμαι σιγουρος αν ειναι σωστο αυτο που λεω" γιατι δεν συντασεται οπως στις γλωσσες προγραμματισμου δηλ. if then else .
Και ειπα να προσπαθησω να το κανω ή με την Choose ή με την Switch η οποια νομιζω οτι ειναι και η πιο σωστη .

Για την Choose εδωσα ..
Choose(zoniid=1,oresA*0.36+leptaA*0.006[,oresB*0.18+leptaB*0.003[,oresA*0.36+leptaA*0.006 +oresB*0.18+leptaB*0.003]])

Και για την Switch ..
Switch(zoniid=1,oresA*0.36+leptaA*0.006[,zoniid=2,oresB*0.18+leptaB*0.003,[,zoniid=3,oresA*0.36+leptaA*0.006+oresB*0.18+leptaB*0.003]])

Δεν δουλεψε καμια απο τις 2 ομως και καμια αλλη συνταξη που εκανα οταν πειραματιζομουνα .
Μου βγαζει αυτο : #Όνομα;

Μπορει καποιος να βοηθησει γιατι δεν βραζω ακρη ?
-----
Και κατι ακομη .
Θελω οταν επιλεγω π.χ. ζωνη α τα πεδια oresB και leptaB να ειναι απενεργοποιημενα και αντιστοιχα οταν επιλεγω ζωνη β τα πεδια oresΑ και leptaΑ να ειναι απενεργοποιημενα :
Δημιουργω ενα συμβαν στη φορμα στο πεδιο "Με το ανοιγμα" η "Με τη φορτωση" οπου τι πρεπει να κανω ακριβως ? Μπλοκαρα .


Προκαταβολικα Ευχαριστο .

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Access - Ροη Προγραμματος

Δημοσίευση από dva_dev » 04 Μαρ 2007 13:43

Δεν πολυκατάλαβα τι ζητάς αλλά να κάνω μια μαντεψιά. :think: :think: :think:
:doh:
:doh:
:doh:
Αφαίρεσε τις αγκύλες από τον κώδικα σου (στις choose, switch).


ΥΓ. Καλό θα είναι να ρίχνεις και μια 2η ματιά σε αυτό που ρωτάς, ώστε να τσεκάρεις ότι είναι θα κατανοητό από κάποιον τρίτο και δεν θα πρέπει να αποκρυτογραφεί τι εννοείς, διαφορετικά θα παίρνεις (αν παίρνεις) άσχετες απαντήσεις.

Dimitris_tHEO
Δημοσιεύσεις: 16
Εγγραφή: 19 Ιαν 2006 14:19

Access - Ροη Προγραμματος

Δημοσίευση από Dimitris_tHEO » 04 Μαρ 2007 14:48

H εφαρμογη ειναι ενας internet coount gia PSTN συνδεση οπου υπαρχει αλλη χρεωση απο τις 8:00-22:00 "ζωνη α"και αλλη απο στις 22:00-8:00 "ζωνη β"

Υπαρχει ενα πεδιο zoniid και αλλα 2 ores kai lepta .
Θελω οταν το zoniid (συνθετο πλαισιο) ειναι α να κανει τον εξης υπολογισμο ores*num+lepta*num και
Οταν το zoniid ειναι β να κανει ores*num2+lepta*num2 ,
Δηλ. να καταχωρο ορες και λεπτα και αυτοματα σε ενα πλαισιο κειμενου να γινεται ο υπολογισμος του κοστους σε €. Νομιζω πως γινομαι κατανοητος τωρα , σωστα ?

Απο τι ξερω με την IIf δεν γινεται αυτο χωρις να ειμαι σιγουρος ?

Χρησιμοποιησα την Choose ως εξης :
Choose(zoniid=1,oresA*0.36+leptaA*0.006[,oresB*0.18+leptaB*0.003[,oresA*0.36+leptaA*0.006 +oresB*0.18+leptaB*0.003]])
..εβγαλα και τις αγκυλες αλλα δεν λειτουργησε.

Και την Switch ως εξης :
Switch(zoniid=1,oresA*0.36+leptaA*0.006[,zoniid=2,oresB*0.18+leptaB*0.003,[,zoniid=3,oresA*0.36+leptaA*0.006+oresB*0.18+leptaB*0.003]])
..και εδω εβγαλα τις αγκυλες αλλα δεν λειτουργησε.
Στο πλαισιο κειμενου οπου θα επρεπε να μου κανει τον υπολογισμο ,
Μου βγαζει αυτο " #Όνομα; "

Η συνταξη τους ειναι λαθος δηλ. που ειναι το λαθος ομως δεν μπορω να καταλαβω , βλεπω και στο site της microsoft αλλα δεν μπορω να βγαλω ακρη .

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Access - Ροη Προγραμματος

Δημοσίευση από dva_dev » 04 Μαρ 2007 17:43

Για δοκίμασε αντί να βάλεις
Choose(zoniid=1, πράξη1, πράξη2, πράξη3)
να βάλεις
Choose(zoniid ; πράξη1 ; πράξη2 ; πράξη3)

Αν έχει πρόβλημα με τους αριθμούς, ίσως παίζουν ρόλο τα regional settings σου. Αλλαξε την υποδιαστολή από τελεία σε κόμμα (0.36 -> 0,36)

Λογικά κάτι τέτοιο θα παίξει:

Κώδικας: Επιλογή όλων

=IIf(IsNull(zoniid) ; Null ; Choose(zoniid ; oresA*0,36 + leptaA*0,006 ; oresB*0,18 + leptaB*0,003 ; oresA*0,36 + leptaA*0,006 + oresB*0,18 + leptaB*0,003))
Για να κάνεις enable/disable τα αντίστοιχα πεδία πρέπει να πιάσεις την onchange του combo box (το πεδίο zoniid) και την oncurrent της φόρμας ώστε να έχεις κάτι τέτοιο:

Κώδικας: Επιλογή όλων

Option Compare Database
Option Explicit

Private Sub Form_Current()
    
    Call EnableDisableControls

End Sub

Private Sub ZONIID_Change()
    
    Call EnableDisableControls

End Sub

Private Sub EnableDisableControls()

    Dim z As Integer
    
    If (IsNull(ZONIID.Value)) Then z = 0 Else z = CInt(ZONIID.Value)
    
    Select Case z
    'ZONI A
    Case 1:
        ORESA.Enabled = True
        LEPTAA.Enabled = True
        ORESB.Enabled = False
        LEPTAB.Enabled = False
        
    'ZONI B
    Case 2:
        ORESA.Enabled = False
        LEPTAA.Enabled = False
        ORESB.Enabled = True
        LEPTAB.Enabled = True
        
    'ZONI AB
    Case 3:
        ORESA.Enabled = True
        LEPTAA.Enabled = True
        ORESB.Enabled = True
        LEPTAB.Enabled = True
        
    'ΟΤΙΔΗΠΟΤΕ ΑΛΛΟ
    Case Else:
        ORESA.Enabled = False
        LEPTAA.Enabled = False
        ORESB.Enabled = False
        LEPTAB.Enabled = False
        
    End Select

End Sub

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Access - Ροη Προγραμματος

Δημοσίευση από dva_dev » 04 Μαρ 2007 17:52

Dimitris_tHEO έγραψε:Απο τι ξερω με την IIf δεν γινεται αυτο χωρις να ειμαι σιγουρος ?
Μπορεί να γίνει και με την IIF (περίπου όπως και με την switch) αλλά είναι περισσότερο μπλέξιμο.

IIF ( συνθήκη; εντολή για true; εντολή για false)

Κώδικας: Επιλογή όλων

=IIf(IsNull(zoniid) ; Null ; IIF(zoniid=1; oresA*0,36 + leptaA*0,006; IIF(zoniid=2; oresB*0,18 + leptaB*0,003; IIF(zoniid=3; oresA*0,36 + leptaA*0,006 + oresB*0,18 + leptaB*0,003; Null) ) ) )

Dimitris_tHEO
Δημοσιεύσεις: 16
Εγγραφή: 19 Ιαν 2006 14:19

Access - Ροη Προγραμματος

Δημοσίευση από Dimitris_tHEO » 04 Μαρ 2007 22:57

ευχαριστο , ξεκιναω αμεσως να τα υλοποιησω .

Dimitris_tHEO
Δημοσιεύσεις: 16
Εγγραφή: 19 Ιαν 2006 14:19

Access - Ροη Προγραμματος

Δημοσίευση από Dimitris_tHEO » 05 Μαρ 2007 17:18

Ολα καλα .Thanks a lot..

Αλλα εχω μια απορια :
1.καταχωρω ΖΟΝΙ Α 10 2 ,oresB kai leptaB ειναι disable .
2.απο κατω καταχωρο ZONI B 5 13 ,oresΑ kai leptaΑ ειναι disable .Ειναι ομως και στην πρωτη εγγαφη disable.

Αν θελω να κακω μια διορθωση στο 1. πρεπει να παω πανω στο 1. οπου ηδη λεει ΖΟΝΙ Α και να ξαναεπιλεξω ΖΟΝΙ Α για να γινουν enable τα oresΑ kai leptaΑ .

Δεν θα πρεπε να υπαρχει η κλαση Current και στο ZONIID δηλ. να αναφερομαι σε καθε εγγραφη ξεχωριστα ??

Εγω εβαλα σε ενα label στο on_click αυτο:

Private Sub change_Click()
oresA.Enabled = True
leptaA.Enabled = True
oresB.Enabled = True
leptaB.Enabled = True
End Sub

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες