freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Εκτυπωση τυχαιων ερωτηματολογιων??


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [2 Μηνύματα]      Bookmarks Tags: εκτύπωσηaccess Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
lam76


Μέλος από: 10 Δεκ 2008
Μηνύματα: 1

View users profile
ΜήνυμαΣτις: 10 Δεκ 2008 15:19    Θέμα: Εκτυπωση τυχαιων ερωτηματολογιων??
Περιγραφή θέματος: Access
Απάντηση με παράθεση  Mark this post and the followings unread

Γειά σας
Θέλω να κανω μια βάση στην access όπου θα έχω βάλει 100 ερωτήσεις πολλαπλής επιλογής για να εκτυπώνω ερωτηματολόγια 30 ερωτήσεων το καθένα που θα βγαίνουν τυχαίες καθε φορά σύν την κλείδα των σωστών
Έχει κανείς κατι αντίστοιχο ή γνωρίζει για την επιλογή τυχαίων ερωτήσεων απο το σύνολο?
Ευχαριστώ
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 11 Δεκ 2008 08:54    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε Lam76

Αυτό που ζητάς γίνεται κάνοντας χρήση της συνάρτησης Rnd() της VBA Access.

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

Δημιουργούμε μία συνάρτηση Από - Έως (Ελάχιστος αριθμός - Μέγιστος αριθμός )

κώδικας:

        Function Randomize(Min,Max as integer) as integer
                     Randomize=Int ((Max-Min + 1) * Rnd + Min)
        End function


Η παραπάνω συνάρτηση επιστρέφει μία τιμή μέσα στο εύρος Min,Max που έχεις βάλει.
Μετά έχεις έναν πίνακα (TblQuestions) ο οποίος πρέπει να έχει και ένα πεδίο (RandomizeID) και αυτό το πεδίο θα ενημερώνεται με τις τιμές που θα επιστρέφει το Randomize για κάθε εγγραφή ξεχωριστά (Με Χρήση RecordSets γεμίζει κάθε εγγραφή ξεχωριστά).
Έτσι θα έχεις το πεδίο RandomizeID με τιμές από Min,Max.


[Παραθέτω αποσπασματικά μέρος κώδικα]
κώδικας:

set RcdSetRand=currentdb.OpenRecordset("Select * From TblQuestions")
RcdSetRand.Fields("RandomizeID")=Randomize(100,150)


Ενημέρωνεις το SQL String σε ένα κενό ερώτημα σου ("QryQuestions") ή στην σχεδίαση του ερωτήματος επιλέγεις Προβολή SQL.
Όπου και βάζεις όπου RecordNo τις τιμές που θέλεις να επιστρέψει το ερώτημα σου στο παράδειγμά σου 25
κώδικας:

Currentdb.QueryDefs("QryQuestions").SQL="SELECT TOP "  & RecordNo &" TblQuestions.* FROM TblQuestions ORDER BY TblQuestions.RandomizeID DESC"



Αυτό που ανάφερα είναι μία τεχνική ίσως και όχι η μοναδική. Σου αναφέρω όσο πιο συνοπτικά γίνεται με έμφαση σε μέρος κώδικα.
ΣΗΜΕΙΩΣΗ : Η παραπάνω τεχνική εφαρμόζεται σε επανάληψη όταν θέλουμε να ξαναεπιλέξουμε άλλες πχ 25 εγγραφές.
Αν έχεις πρόβλημα στην υλοποίηση του στείλε μου PM ή topic

Φιλικά

Kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [2 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Δημιουργία Βάσης Δεδομένων MS Access με αντιστοιχιση σε γραφικό στοιχείο 1 Charalampos77 22 Ιουλ 2016 13:22
cordis Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 11 Δεκ 2016 11:51 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos