Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Αντιγραφή και επικόλληση (Copy-Paste) (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4079-antigrafi-kai-epikollisi-copy-paste.html)

parara 01-03-16 19:06

Αντιγραφή και επικόλληση (Copy-Paste)
 
Καλησπέρα σε όλους,
Αυτό που προσπαθώ να πετύχω είναι το εξής:

Σε ένα πλαίσιο λίστας όπου εμφανίζονται όλοι οι πελάτες έχω καταφέρει με αναζήτηση να εντοπίσω αυτόν που με ενδιαφέρει. Στην γραμμή λοιπόν που εμφανίζεται τα στοιχεία του πελάτη είναι:

Κωδικός Πελάτης UserName PassWord

Μπορώ με ένα διπλό κλικ ή έστω με την χρήση πλήκτρου να κάνω copy μόνο το UserName (με σκοπό να το κάνω paste εκεί που θέλω, συγκεκριμμένα σε ιστοσελίδα του taxisnet) και στην συνέχεια με τον ίδιο τρόπο να αντιγράφω και το Password

Και λιγάκι πιο πολύπλοκο.... Υπάρχει τρόπος να συνδέσω τα αντίστοιχα πεδία (userName & Password) με την φόρμα του taxisnet ώστε να τα μεταφέρω εκεί για να συνδέομαι;


Ευχαριστώ
Διονύσης

kapetang 01-03-16 21:32

Καλησπέρα

Διονύση δοκίμασε το εξής.

Τοποθέτησε στη φόρμα:

1) Ένα βοηθητικό TextBox (πχ txtUser)

2) Δύο κουμπιά (πχ cmdCopyName και cmdCopyPassWord)

Επίσης στη φόρμα χρησιμοποίησε τον ακόλουθο κώδικα.

Κώδικας:

Option Compare Database
Option Explicit

Private Sub cmdCopyName_Click()
    CopyToClip 1
End Sub

Private Sub cmdCopyPassWord_Click()
    CopyToClip 2
End Sub

Public Sub CopyToClip(i As Long)
    If Me.cboUesr.ListIndex >= 0 Then
        Me.txtUser = Me.cboUesr.Column(i)
        Me.txtUser.SetFocus
        DoCmd.RunCommand acCmdCopy
    Else
        MsgBox "Δεν έγινε επιλογή στο ComboBox"
    End If

End Sub

Όταν κάνουμε κλικ στο κουμπί cmdCopyName o κώδικας δίνει τιμή στο txtUser το UserName και στη συνέχεια (από το txtUser) το αντιγράφει στο Clipboard.

Όταν κάνουμε κλικ στο κουμπί cmdCopyPassWord o κώδικας δίνει τιμή στο txtUser το UserPassWord και στη συνέχεια (από το txtUser) το αντιγράφει στο Clipboard.

Η επικόλληση στο TaxisNet, για κάθε περίπτωση, μπορεί να γίνει με Ctrl+v.

Σημειώνω ότι ως όνομα για το ComboBox χρησιμοποιείται το cboUser.

Φιλικά/Γιώργος

parara 01-03-16 22:26

Πολύ έξυπνο, δούλεψε και σε ευχαριστώ πολύ.

Πως θα μπορούσα να το "συνδέσω" με την φόρμα taxisnet έχεις καμιά ιδέα.

Μπορούμε ας πούμε να αποδώσουμε αυτήν την τιμή που έχει το txtUser σε ένα link (που οδηγεί στη σελίδα login του taxisNet)


Πάντως όπως και να έχει ΕΥΧΑΡΙΣΤΩ

kapetang 02-03-16 15:15

Καλησπέρα

Διονύση, πρόσθεσε στη φόρμα ένα κουμπί πχ cmdLogin, στο οποίο, όταν κάνουμε κλικ, θα εκτελείται ο παρακάτω κώδικας.

Κώδικας:

Private Sub cmdLogin_Click()
    Dim IE As Object
    Dim sws As SHDocVw.ShellWindows
    Dim strURL As String
    Dim i As Integer

    On Error GoTo err_Hander
    If Me.cboUesr.ListIndex >= 0 Then

        'Ορισμός URL
        strURL = "https://login.gsis.gr/sso/pages/login.jsp"

        Set sws = New SHDocVw.ShellWindows

        'Εύρεση κατάλληλης ιστοσελίδας
        For i = 0 To sws.Count - 1
            If Left(sws.Item(i).LocationURL, Len(strURL)) = strURL Then
                Set IE = sws.Item(i).Document
                sws.Item(i).Visible = True
                Exit For
            End If
        Next

        'Ανοίγει την ιστοσελίδα login, αν δεν είναι ανοιχτή
        'Επειδή δεν επιτρέπεται η άμεση πρόσβαση θα προκληθεί λάθος
        If i > sws.Count - 1 Then
            Set IE = CreateObject("InternetExplorer.Application")
            IE.Navigate strURL
            IE.Visible = True
            Do While IE.busy Or IE.ReadyState <> 4
                DoEvents
            Loop
        End If
       
        IE.all("ssousername").Value = Me.cboUesr.Column(1)
        IE.all("password").Value = Me.cboUesr.Column(2)
    Else
        MsgBox "Δεν έγινε επιλογή στο ComboBox"
    End If
    Exit Sub
err_Hander:
    MsgBox "Η σελίδα login πρέπει να είναι ανοιχτή στον IE"

End Sub

Για να εκτελείται σωστά ο κώδικας πρέπει:

1) Στο παράθυρο του κώδικα, να προσθέσουμε μία αναφορά στο στοιχείο "Microsoft Internet Controls" (Tools>References> Microsoft Internet Controls).

2) Η σελίδας Login να είναι ανοιχτή, επειδή το Taxisnet δεν επιτρέπει το άμεσο άνοιγμά της με κώδικα.

Άνοιξε στον IE τη σελίδα Login του Taxinet, διάλεξε ένα πελάτη στο ComboBox της φόρμας και πάτησε το κουμπί.

Κανονικά στη σελίδα Login θα πρέπει να συμπληρωθούν αυτόματα τα στοιχεία του πελάτη (UserName και PassWord).

Φιλικά/Γιώργος

parara 02-03-16 23:39

Καλησπέρα Γιώργο,

Δοκίμασα τον κώδικα αλλά μου "χτυπά" στην εντολή

If Left(sws.Item(i).LocationURL, Len(strURL)) = strURL Then

και μάλιστα στην Left

το μηνυμα του compiler είναι

Can't find project or library.

Στο μεταξύ ψάχνω και για άλλες παρόμειες αναφορές σε ξένα forum

Σε ευχαριστώ και πάλι

kapetang 03-03-16 16:32

1 Συνημμένο(α)
Πιθανόν να μη υπάρχουν οι σωστές αναφορές

Θα πρέπει να είναι όπως στο συνημμένο.

Επίσης θα πρέπει να ξετσεκάρεις, όσες αναγράφονται ως missing

parara 04-03-16 17:28

Καλησπέρα, είσαι καλιτέχνης...

με ΙΕ δουλεύει άψογα, θα ψάξω να δω αν μπορώ να το κάνω και με Mozila

Ευχαριστώ


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

Ms-Office.gr - ©2000 - 2025, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2