Sql = ("SELECT questint, repint " & _ " FROM reponses " & _ " INNER JOIN questions " & _ " ON reponses.questnum = questions.questnum " & _ " AND reponses.qcmcode = questions.qcmcode " & _ " INNER JOIN tirer " & _ " ON questions.qcmcode = tirer.qcmcode " & _ " AND questions.questnum = tirer.questnum " & _ " WHERE tirer.numpass = " & i & " " & _ " AND reponses.repval = 1 ")
Sql = ("SELECT questions.questint, " & _ " reponses.repint " & _ " FROM reponses, " & _ " questions, " & _ " tirer " & _ " WHERE reponses.questnum = questions.questnum " & _ " AND reponses.qcmcode = questions.qcmcode " & _ " AND reponses.repval = 1 " & _ " AND questions.qcmcode = tirer.qcmcode " & _ " AND questions.questnum = tirer.questnum " & _ " AND tirer.numpass = " & i)Tu auras remarqué que j'ai remonté la dernière condition plus haut (elle devrait même être en tête), car une requète qui rencontre une première sélection limite l'étendue des recherches dans les autres tables, d'où une meilleure efficacité (dans le cas de champs indexés).
Do While Timer < Finish reste = int(Finish - Timer) MsgBox "Le temps passe", 0, "il reste " & reste & " secondes avant la fin" DoEvents ' Donne le contrôle à d'autres processus. Loop
Public duree As Long, depart As Date, ou As Object Public Sub toto() ou.Visible = True Dim ecoule As Long ecoule = DateDiff("s", depart, Now) If ecoule >duree + 1 Then ou.Visible False: ou.Caption = "": Exit Sub reste = duree - ecoule ou.Caption = ecoule & " seconde(s) déjà écoulée(s)" & vbCrLf & "reste(nt) " & reste & " secondes" Application.OnTime Now + TimeValue("00:00:01"), "toto" End Sub
Private Sub CommandButton1_Click() depart = Now duree 12 '>>> mets ici la durée que tu veux, exprimée en secondes Set ou = Label1 Application.OnTime Now + TimeValue("00:00:01"), "toto" End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question