Ανανέωση ιστοσελίδας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 17-02-09, 14:55
sfedona85
Guest
 
Μηνύματα: n/a
Προεπιλογή αριθμομηχανη

καλησπερα
προσπαθω να φτιαξω αριθμομηχανη μεσα σε φορμα. γινεται? δεν θελω η φορμα μου να εχει καμια σχεση με excel. απλα για πραξεις θελω να εχω μια αριθμομηχανη.! αλλα δεν ξερω πως γινεται! :!:
Απάντηση με παράθεση
  #2  
Παλιά 18-02-09, 19:04
Tassos
Guest
 
Μηνύματα: n/a
Προεπιλογή Re: αριθμομηχανη

Καλησπέρα και συγχαρητήρια στο νέο αυτό φόρουμ!

Κατ αρχή, δε είμαι σίγουρος αν βρισκόμαστε στην κατάλληλη ενότητα του φόρουμ
(...Εδώ μπορείτε να αποστέλετε διάφορα εργαλεία για τις εφαρμογές σας σε 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  
Παλιά 19-02-09, 12:59
Όνομα: Ηλιάδης Κωνσταντίνος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-12-2008
Περιοχή: Chicago
Μηνύματα: 119
Προεπιλογή Re: αριθμομηχανη

Καλημέρα και να ευχαριστήσω για την απάντηση που έδωσε ο φίλος Τάσος. Και μεταφέρω όλο το θέμα εδώ.

Μια σύντομη απάντηση και ίσως ποιο γρήγορη στην εκτέλεσή του από την Access είναι η εντολή
Κώδικας:
shell("calc.exe")
Μπορούμε να εισάγουμε αυτόν τον κώδικα σε μία συνάρτηση πχ
Κώδικας:
Public Function CallCalc()
            shell("calc.exe")
End function
Μπορούμε να καλούμε την συνάρτηση πατώντας πχ το F2 καθόλικα βάζοντας την συνάρτηση να καλείτε από τη μακροεντολή Autokeys και έτσι με F2 όπου και να είμαστε στην εφαρμογή καλούμε την εφαρμογή αριθμομηχανή.

Φιλικά

Ηλιάδης Κωνσταντίνος / Kon73
Απάντηση με παράθεση
  #4  
Παλιά 19-02-09, 21:10
sfedona85
Guest
 
Μηνύματα: n/a
Προεπιλογή Re: αριθμομηχανη

ναι κατι απλο ηθελα.. ναι το calculator των win μου ειναι υπερ αρκετο.. ευκολο ακουγετε αυτο που λετε.. αλλααααα... που περναω τον κωδικα.. αρα βαζω κουμπακι μεσα στην φορμα και μετα περναω μεσα απο vbasic τον κωδικα που βλεπω πιο πανω?
Απάντηση με παράθεση
  #5  
Παλιά 20-02-09, 11:36
Tassos
Guest
 
Μηνύματα: n/a
Προεπιλογή Re: αριθμομηχανη

Καλημέρα σε όλους!

Και στις 2 προαναφερόμενες λύσεις, ανοίγεις το παράθυρο του VBE Alt + F11, επιλέγεις Insert > Module
για να δημιουργήσεις μια νέα λειτουργική μονάδα στην οποία μπορείς να αντιγράψεις τον κώδικα που θέλεις (στο δεξί παράθυρο).

Για το πώς θα καλέσεις μια ενέργεια με πλήκτρο πχ. F2 ή με κουμπί, θα σου πρότεινα να ρίξεις μια ματιά στο παρακάτω Link:

http://office.microsoft.com/el-gr/acces ... 2526091032

Αν σου δημιουργηθεί κάποια απορία σχετικά, γράψε απλά στο φόρουμ.

Φιλικά
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Αριθμομηχανή alex Access - Ερωτήσεις / Απαντήσεις 6 11-12-16 23:27
Φόρμα-Αριθμομηχανή Χρήστος Access - Ερωτήσεις / Απαντήσεις 2 16-12-13 12:04


Η ώρα είναι 08:43.