Ανανέωση ιστοσελίδας

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 28-04-12, 11:23
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 19-02-2011
Μηνύματα: 97
Προεπιλογή SQL ερώτημα

Καλημέρα στο φορουμ. Έχω βάλει τον sql server expres 2012 . Το πρόβλημα που αντιμετωπίζω είναι το εξής. Σε αυτό το query μου χχτυπάει ο κώδικας μπορεί κάποιος να βοηθήσει?
κώδικας
(SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home and iif( home=P.home,hmna<=.p.hmna,hmna<P.hmna)) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
και μήνυμα (Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '<'.)
Απάντηση με παράθεση
  #2  
Παλιά 28-04-12, 17:49
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα

Δεν γνωρίζω ποιά είναι η απάντηση στο ερώτημά σου. Όμως σε αυτές τις περιπτώσεις εργάζομαι αποδομώντας την πολυπλοκότητα της SQL δομής και στην συνέχεια βήμα-βήμα την φέρνω μέχρι την επιθυμητή μορφή.
πχ
SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
μετά...
SELECT * (Select count(*) From dbo.Result$ as P Where home=P.home and hmna<P.hmna) AS Katataxi
FROM dbo.Result$
ORDER BY RESULT.HOME, RESULT.HMNA DESC
κοκ

Καλή συνέχεια
Νίκος Δ.

Υστερολόγιο : Μέτρησε τις παρενθέσεις,...
Απάντηση με παράθεση
  #3  
Παλιά 28-04-12, 18:05
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλησπέρα!
Δημήτρη, η συνάρτηση iif(home=P.home,hmna<=.p.hmna,hmna<P.hmna) επιστρέφει True ή False.
Επομένως, ακόμα και αν μπορούσε να εκτελεστεί το ερώτημα σου, δεν θα είχες σωστά αποτελέσματα.

Πιο απλά, μην περιμένεις να σου επιστρέψει σωστά αποτελέσματα η Select count(*) From dbo.Result$ as P Where home=P.home AND True ή False
αφού το True ή False δεν αντιστοιχείται πουθενά .

Μετά τον τελεστή AND θα πρέπει να βάλεις τη συνθήκη και όχι το αποτέλεσμα της συνάρτησης IIF()

Παράδειγμα:

Κώδικας:
SELECT Result.hmna, Result.home, (Select count(*) From Result as P 
Where 
([result].[home]=[P].[home] And [Result].[hmna]<=[p].[hmna]) 
OR 
([result].[home]<>[P].[home] And [Result].[hmna]<[p].[hmna])) AS Katataxi

FROM Result

ORDER BY Result.hmna DESC , Result.home;
Καλή συνέχεια

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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



Η ώρα είναι 06:06.