| 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 Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word Τελευταία επεξεργασία από το χρήστη Tasos : 15-12-11 στις 18:45. |
|
#3
| |||
| |||
|
Καλησπερα σε ολους Τασο σε ευχαριστω δοκιμασα την δευτερη μεθοδο και δουλευει αψογα (Γλυτωσα μερικα προστιμα) Καλες εορτες
__________________ Δήμος |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Γενικά] Έλεγχος Εγκυρότητας ΑΜΚΑ | Tasos | Excel - Tips & Tricks | 0 | 05-10-11 18:00 |
| [ Φόρμες ] Έλεγχος για διπλότυπη τιμή | ΤΖΙΜΗΣ | Access - Ερωτήσεις / Απαντήσεις | 4 | 02-08-11 14:05 |
| [ Φόρμες ] Έλεγχος Ορθότητας Πεδίων | ΤΖΙΜΗΣ | Access - Ερωτήσεις / Απαντήσεις | 2 | 07-06-11 16:25 |
| Έλεγχος διπλοεγγραφής με κώδικα VBA | pdhmos | Access - Ερωτήσεις / Απαντήσεις | 7 | 01-05-11 09:09 |
| ΕΛΕΓΧΟΣ ΣΕ ΔΥΟ ΠΙΝΑΚΕΣ | NIC | Access - Ερωτήσεις / Απαντήσεις | 2 | 12-03-10 18:58 |
Η ώρα είναι 16:43.



Αλλαγή σε γραμμικό τρόπο

