Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: DataGrid

kayttaja-3842 [01.05.2006 21:27:14]

#

Miten voin tehä DataGrid:iin linkin esim "http://www.google.fi"? Eli siis esim kun painetaan DataGrid:stä esim kohtaa Google, niin siirrytään googlen sivustolle. Eli siis avautuu oletus selain ja se siirtyy googeliin.

Antti Laaksonen [01.05.2006 21:31:27]

#

Tästä on apua:
https://www.ohjelmointiputka.net/koodivinkit/23549-vb6-shellexecute-funktio

kayttaja-3842 [01.05.2006 21:48:42]

#

Joo, mutta miten tätä voi soveltaa DataGrid:ssä? Eli siis on Column, jonka nimi on "Nimi" ja siinä listassa olevat fieldit "Google","Ohjelmointiputka" ja "Altavista", jos painan "Google" avautuu "google.fi" ja jos taas "Ohjelmointipurka" niin avautuu luonnollisesti ohjelmointiputka.net jne jne...Eli pystyykö mitenkään?

BadSource [02.05.2006 07:50:30]

#

Laaksosen ohjetta ja seuraavaa koodia soveltamalla saat tuon hoidettua. Jossain taulukossa tms. yhdistää nimet oikeisiin osoitteisiin.

Private Sub DataGrid1_MouseDown(Button As Integer, _
                                Shift As Integer, _
                                X As Single, _
                                Y As Single)
    Dim MyCol As Long
    Dim MyRow As Long

On Error GoTo ErrorTerror 'otetaan virheet huomioon

    With Me.DataGrid1
        MyCol = .ColContaining(X) 'selvitetään klikatun sarakkeen numero
        MyRow = .RowContaining(Y) 'sama rivin suhteen
        If MyCol >= 0 And MyCol < .Columns.Count Then 'tarkistetaan sarakkeen "oikeellisuus"
            If MyRow >= 0 And MyRow < .ApproxCount Then 'sama rivin suhteen
                'ilmoitetaan klikatun solun arvo messageboxilla
                MsgBox .Columns(MyCol).CellValue(.RowBookmark(MyRow))
            End If
        End If
    End With
    Exit Sub

ErrorTerror:
    If Err.Number <> 0 Then MsgBox Err.Number & ": " & Err.Description: Err.Clear
End Sub

kayttaja-3842 [03.05.2006 18:17:57]

#

Tämä ei ole oikein kätevä koodi, jos olisi tarkoitus siirtää linkki data tietokantaan ja ladata sieltä ulos..

BadSource [04.05.2006 06:56:54]

#

Tarkoitushan siis oli klikata DataGridin solua, joka avaa selaimen ja siirtyy jollekkin sivulle? Väännetäänpä rautalangasta. Tällä kertaa et saa valmista koodia, vaan joudut soveltamaan, mitä tässä ketjussa on tullut ilmi.

Esimerkkistäni saat koodin, joka kertoo mitä olet klikannut DataGridissä. Tarvitset jonkin listan (array, tietokanta tms.), josta katsot löytyykö klikatulle vastaavaa osoitetta, minne siirtyä (Google tarkoittaa http://www.google.fi ja niin edelleen). Jos löytyy, niin Laaksosen esimerkillä avaat selaimen ja siirryt halutulle sivulle. Oliko tuossa jotain vaikeaa, vai enkö ymmärrä jotain?

kayttaja-3842 [05.05.2006 14:34:43]

#

Itse asiassa en tarvitse enää, koska kehittelin itse paremman tekniikan...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta