Bonjour à tous,
Est-ce qu'il y a un moyen de savoir si un etat est ouvert en premier plan?
(avec la barre de tittre bleu?)
Merci d'avance pour toute l'aide
Bonjour à tous,
Est-ce qu'il y a un moyen de savoir si un etat est ouvert en premier plan?
(avec la barre de tittre bleu?)
Merci d'avance pour toute l'aide
Bonsoir,
... suis pas sûr d'avoir compris et donc de raconter un bêtise.La barre de titre en bleu dépend de ton bureau...Est-ce qu'il y a un moyen de savoir si un état est ouvert en premier plan?
(avec la barre de tittre bleu?)
Mais s'il est ouvert au premier plan, avec la barre de titre couleur de l'objet actif,Mais je ne comprends pas l'objet de tes recherches.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dim sNomEtat as string sNomEtat = "rptTonEtat" Me.Name = sNomEtat
Bonsoir,
Peut-être voir du côté de l'objet Screen
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim strEtatActif as string strEtatActif ="<Aucun>" ' Une erreur est levée si la fenêtre active n'est pas un Etat On Error Resume Next strEtatActif = Screen.ActiveReport.Name On Error Goto 0 ' strEtatActif contient <Aucun> ou le nom de l'Etat actif
Merci pour des reponses, je vais essayer d'expliquer mon problème:
J'ai dans mon application un formulaire F_lettres que sert à ouvrir 1 ou 2 etats (l'utilisateur doit marquer des cases à cocher);
après, pour faire l'impression, j'ai un menu contextuel. Son code est le suivant:
Mon problème est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Public Function LancerImpression() Dim o As Boolean PCEout_glo = 0 o = False DoCmd.RunCommand acCmdPrint If CurrentProject.AllForms("F_lettre").IsLoaded Then Dim rsi As ADODB.Recordset Set rsi = New ADODB.Recordset rsi.ActiveConnection = CurrentProject.Connection rsi.Source = "SELECT * FROM [T_registros] WHERE [No] = " & Forms!F_lettre!COMPTE rsi.CursorType = adOpenDynamic rsi.LockType = adLockOptimistic rsi.Open If Forms!F_lettre!C_CLI.Value = -1 Then rsi![DAT_LETTRE_CLI] = Now If Forms!F_lettre!C_ORG.Value = -1 Then rsi![DAT_LETTRE_ORG] = Now rsi.Update o = True DoCmd.Close acForm, "F_lettre", acSaveNo End If DoCmd.Close If o = True Then DoCmd.OpenForm "F_lettre", acNormal, "", "", , acDialog End Function
si j'ai les deux etats ouverts, je peux choisir de faire l'impression du 1er ou du 2ème, pas forcement les deux, mais si je lance l'impression l'un des deux, le code va marquer les dates d'envoye des deux lettres, car les deux cases à cocher sont couchées:
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If Forms!F_lettre!C_CLI.Value = -1 Then rsi![DAT_LETTRE_CLI] = Now If Forms!F_lettre!C_ORG.Value = -1 Then rsi![DAT_LETTRE_ORG] = Now
Je voudrais marquer la date de l'impression qu'est en premier plan (celle-là que je demande l'impression)
Je voudrais savoir donc s'il y a quelque chose que rasemble le code IsLoaded, comme par exemple IsActif, ou HasFocus...
Merci encore une fois
Bonjour,
Je ne comprends pas ton problème.
Donc pour répondre à ta dernière question, voici une fonction pour savoir si un état a le focus ou non.
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function EtatAleFocus(strEtat As String) As Boolean Dim strEtatActif As String strEtatActif = "<Aucun>" ' Une erreur est levée si la fenêtre active n'est pas un Etat On Error Resume Next strEtatActif = Screen.ActiveReport.Name On Error GoTo 0 ' strEtatActif contient <Aucun> ou le nom de l'Etat actif If StrComp(strEtat, strEtatActif, vbTextCompare) = 0 Then EtatAleFocus = True Else EtatAleFocus = False End If
Merci Led,
Je pense avoir compris...
Une seule détail:
dans ton code c'est écrit
ça veut dire quoi exactement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part On Error GoTo 0
il est déjà "dans" Access ou je dois écrire quelque action concernant cet error?
Il faut laisser le
cela annule le
Code : Sélectionner tout - Visualiser dans une fenêtre à part On Error GoTo 0
qui veut dire : continuer en cas d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part On Error Resume Next
A+
OK
j'ai compris...
Mais enfait j'ai trouvé une solution um peu plus simple...
j'écris les deux dates et dans le cas où il y a un etat ouvert, j'efface sa date d'envoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'mettre des dates If CurrentProject.AllReports(etat_cli_glo).IsLoaded Then rsi![DAT_LETTRE_CLI] = Now rsi.Update End If If CurrentProject.AllReports(etat_org_glo).IsLoaded Then rsi![DAT_LETTRE_ORG] = Now rsi.Update End If DoCmd.Close 'enleve des dates si les etats sont ouverts If CurrentProject.AllReports(etat_cli_glo).IsLoaded Then rsi![DAT_LETTRE_CLI] = Null rsi.Update End If If CurrentProject.AllReports(etat_org_glo).IsLoaded Then rsi![DAT_LETTRE_ORG] = Null rsi.Update End If
Merci pour l'aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager