| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπερα και καλές εορτές σε ολα τα μέλη του φόρουμ. Εχω ενα προβλημα στην εφαρμογη που δουλευω στο μαγαζι μου και θα παρακαλουσα για την βοηθεια σας. Μερικες φορες κλεινουμε κατα λαθος το φορολογικο προγραμα και εκδιδουμε παραστατικα χωρις συμβολοσειρα και (το προστιμο της εφοριας ειναι αρκετα καλο !!!!) Το προβλημα θα λυνονταν κατα την γνωμη μου εαν μπορουσα να ελενξω πριν εκτυπωθει ενα παραστατικο εαν το προγραμα της φορολογικης μηχανης ειναι ανοικτο (δεν ξερω πως να το κανω ομως) η εαν υπαρχει αλλος τροπος. Ευχαριστω. Δημος |
|
#2
| ||||
| ||||
|
Καλησπέρα σε όλους! Αγαπητέ Δήμο, για να ελέγξεις αν μια εφαρμογή είναι ανοιχτή θα πρέπει να γνωρίζεις:
Παρακάτω παρουσιάζω 3 από αυτές: 1) Αν γνωρίζεις τον τίτλο του παραθύρου της εφαρμογής, ο κώδικας που μπορείς να χρησιμοποιήσεις είναι: Κώδικας: Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Function IsRunning(WindowTitle As String) As Boolean
IsRunning = FindWindow(vbNullString, WindowTitle) <> 0
End Function
Sub test()
If IsRunning("My Application window title") Then ' Εδώ θα βάλεις τον τίτλο του παραθύρου της εφαρμογής.
' Ο κωδικας σου...
'...............
'...............
Else
MsgBox "Application Is not running!", vbCritical
End If
End Sub
2) Αν γνωρίζεις το όνομα της διεργασίας της εφαρμογής, ο κώδικας που μπορείς να χρησιμοποιήσεις είναι: Κώδικας: Function IsProcessRunning(strProcess As String) As Integer
Dim Process, ProcessList, strComputer, objWMIService
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set ProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" & strProcess & "'")
IsProcessRunning = ProcessList.Count
End Function
Sub test1()
If IsProcessRunning("MyApp.exe") Then ' Εδώ θα βάλεις το όνομα της διεργασίας της εφαρμογής.
' Ο κωδικας σου...
'...............
'...............
Else
MsgBox "Application Is not running!", vbCritical
End If
End Sub
3) Υπάρχει και η εντολή VBA AppActivate title[, wait] αλλά... δεν είναι ότι καλύτερο. Θα την παρουσιάσω όμως: Κώδικας: Function AppIsRunning(WindowTitle As String) As Boolean
On Error Resume Next
AppActivate WindowTitle
AppIsRunning = Err = 0
On Error GoTo 0
End Function
Sub test2()
If AppIsRunning("My Application window title") Then ' Εδώ θα βάλεις τον τίτλο του παραθύρου της εφαρμογής.
' Ο κωδικας σου...
'...............
'...............
Else
MsgBox "Application Is not running!", vbCritical
End If
End Sub
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 15-12-11 στις 18:45. |
|
#3
| |||
| |||
|
Καλησπερα σε ολους Τασο σε ευχαριστω δοκιμασα την δευτερη μεθοδο και δουλευει αψογα (Γλυτωσα μερικα προστιμα) Καλες εορτες |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| Δημιουργία έκθεσης εβδομαδιαίου προγράμματος διατροφής | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 9 | 12-11-14 07:02 |
| [Συναρτήσεις] Σύνταξη εβδομαδιαίου Πρόγραμματος Οδηγών | ΑΠΟΣΤΟΛΗΣΚ | Excel - Ερωτήσεις / Απαντήσεις | 4 | 10-12-13 18:41 |
| Access Σύνταξη Εβδομαδιαίου Προγράμματος | ΑΠΟΣΤΟΛΗΣΚ | Access - Ερωτήσεις / Απαντήσεις | 1 | 01-12-13 18:29 |
| [Γενικά] Δημιουργία προγράμματος | panos24 | Excel - Ερωτήσεις / Απαντήσεις | 9 | 11-07-12 16:14 |
| Εντολή εκτέλεσης προγράμματος | stratos75 | Access - Ερωτήσεις / Απαντήσεις | 1 | 05-05-12 10:00 |
Η ώρα είναι 10:49.


Υβριδικός τρόπος

