| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
καλησπερα προσπαθω να φτιαξω αριθμομηχανη μεσα σε φορμα. γινεται? δεν θελω η φορμα μου να εχει καμια σχεση με excel. απλα για πραξεις θελω να εχω μια αριθμομηχανη.! αλλα δεν ξερω πως γινεται! :!: |
|
#2
| |||
| |||
|
Καλησπέρα και συγχαρητήρια στο νέο αυτό φόρουμ! Κατ αρχή, δε είμαι σίγουρος αν βρισκόμαστε στην κατάλληλη ενότητα του φόρουμ (...Εδώ μπορείτε να αποστέλετε διάφορα εργαλεία για τις εφαρμογές σας σε mdb)! Αγαπητέ φίλε, αν τα αποτελέσματα των πράξεων αυτών σχετίζονται με κάποια πεδία της φόρμας σου τότε θα χρειαστούν περισσότερες πληροφορίες από την πλευρά σου προκειμένου να πάρεις μια απάντηση. Αν πάλι χρειάζεσαι μια απλή αριθμομηχανή, νομίζω ότι θα σ εξυπηρετήσει η αριθμομηχανή των Windows που με τη χρήση ενός κουμπιού και του παρακάτω κώδικα θα μπορόυσες να την ανοίγεις κατευθείαν από τη φόρμα. Σε μια λειτουργική μονάδα πέρασε τον παρακάτω κώδικα: Κώδικας: Option Compare Database
Option Explicit
Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As Any, ByVal _
lpWindowName As Any) As Long
Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, _
lpRect As Rect) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpszOp As String, _
ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal LpszDir As String, ByVal FsShowCmd As Long) _
As Long
Type Rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Const SW_SHOWNORMAL = 1&
Const HWND_TOPMOST = -1&
Const SWP_NOSIZE = &H1
Sub LoadCalc(frmHandle&)
Dim xHandle&, i%, LRect As Rect, appLeft&, appTop&, _
frmVM&, frmHM&, appHM&, appVM&, Retval&
Retval = ShellExecute(frmHandle, "open", "CALC.EXE", "", "", SW_SHOWNORMAL)
If Retval < 33 Then
MsgBox "Could not load Windows Calculator!!", vbExclamation, "Load failed!"
Exit Sub
End If
While xHandle = 0
DoEvents
xHandle = FindWindow("SciCalc", 0&)
Wend
GetWindowRect frmHandle, LRect
frmHM = LRect.Left + (LRect.Right - LRect.Left) / 2
frmVM = LRect.Top + (LRect.Bottom - LRect.Top) / 2
GetWindowRect xHandle, LRect
appHM = (LRect.Right - LRect.Left) / 2
appVM = (LRect.Bottom - LRect.Top) / 2
appLeft = frmHM - appHM
appTop = frmVM - appVM
SetWindowPos xHandle, HWND_TOPMOST, appLeft, appTop, 0, 0, SWP_NOSIZE
End Sub
Κώδικας: Private Sub cmdCallCalc_Click()
LoadCalc Me.hwnd
End Sub
|
|
#3
| |||
| |||
|
Καλημέρα και να ευχαριστήσω για την απάντηση που έδωσε ο φίλος Τάσος. Και μεταφέρω όλο το θέμα εδώ. Μια σύντομη απάντηση και ίσως ποιο γρήγορη στην εκτέλεσή του από την Access είναι η εντολή Κώδικας: shell("calc.exe")
Κώδικας: Public Function CallCalc()
shell("calc.exe")
End function
Φιλικά Ηλιάδης Κωνσταντίνος / Kon73 |
|
#4
| |||
| |||
|
ναι κατι απλο ηθελα.. ναι το calculator των win μου ειναι υπερ αρκετο.. ευκολο ακουγετε αυτο που λετε.. αλλααααα... που περναω τον κωδικα.. αρα βαζω κουμπακι μεσα στην φορμα και μετα περναω μεσα απο vbasic τον κωδικα που βλεπω πιο πανω?
|
|
#5
| |||
| |||
|
Καλημέρα σε όλους! Και στις 2 προαναφερόμενες λύσεις, ανοίγεις το παράθυρο του VBE Alt + F11, επιλέγεις Insert > Module για να δημιουργήσεις μια νέα λειτουργική μονάδα στην οποία μπορείς να αντιγράψεις τον κώδικα που θέλεις (στο δεξί παράθυρο). Για το πώς θα καλέσεις μια ενέργεια με πλήκτρο πχ. F2 ή με κουμπί, θα σου πρότεινα να ρίξεις μια ματιά στο παρακάτω Link: http://office.microsoft.com/el-gr/acces ... 2526091032 Αν σου δημιουργηθεί κάποια απορία σχετικά, γράψε απλά στο φόρουμ. Φιλικά |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| Αριθμομηχανή | alex | Access - Ερωτήσεις / Απαντήσεις | 6 | 11-12-16 22:27 |
| Φόρμα-Αριθμομηχανή | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 2 | 16-12-13 11:04 |
Η ώρα είναι 11:17.


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

