sql-kyselyn tulos excel-formaattiin accessin vb:llä

sql-kyselijä

Asiakkaiden koneilla käytetään access-sovelluksia. Data on accessin mdb-tiedostossa serverillä. Asiakkaiden sovellukset tekevät sql-kyselyitä datalle. Onko accessin basicillä mahdollista tehdä sellaista operaatiota, että talletetaan sql-kyselyn tulos työasemalle excel-formaattiin?
Siis automaattisesti ilman mitään käyttäjän käynnistämiä export-valikkoja. Helpeissä kyllä kerrottiin, kuinka valikoista voidaan tehdä exportteja, mutta en löytänyt koodista esimerkkejä.

5

1064

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • .....

      Luet esimerkiksi datan tauluista ja kirjoitat html-sivun jonka ainoana sisältönä on table-elementti jossa on taulun tavara. Excel osaa näyttää tuon tiedon oikein.

    • * * * * * * *

      Mikset rakenne exeliä käsittelemään access-kantaa?

      • sql-kyselijä

        No kun sovellus on käytössä noin 10 eri työasemalla ja näiden yhteisessä tietokannnassa on 20 taulua. Sovellus on muuten valmis ja jo käytössä, mutta muutama raportti pitäisi pystyä tulostamaan myös excel-muodossa (paperin lisäksi). En ala kirjoittamaan sovellusta uusiksi excelillä. En usko, että excel on hyvä tietokantasovellusten rakentamistyökalu. Voiko sillä edes tehdä client-server-sovelluksia?


      • * * * * * * *
        sql-kyselijä kirjoitti:

        No kun sovellus on käytössä noin 10 eri työasemalla ja näiden yhteisessä tietokannnassa on 20 taulua. Sovellus on muuten valmis ja jo käytössä, mutta muutama raportti pitäisi pystyä tulostamaan myös excel-muodossa (paperin lisäksi). En ala kirjoittamaan sovellusta uusiksi excelillä. En usko, että excel on hyvä tietokantasovellusten rakentamistyökalu. Voiko sillä edes tehdä client-server-sovelluksia?

        Tarkoitin, mikset kirjoita yhtä excel -sivupohjaa, joka hakee raportin tietokannasta automaattisesti. Ecxel -pohjan puolestaan voisi jakaa kiinnostuneille käyttäjille. Ymmärtääkseni Excel voisi käyttää vaikka sopivaa kyselyä, joka on laadittu Accessissa, jottei ohjelmointi työ kasvaisi kovin suureksi. Tämä tietysti olettaen, että itse raportti on suhteellisen yksinkertainen, vähän ohjelmoimista vaativa. Toinen oletus on, ettei tietokanta muodosta omaa toimivaa sovellusta, mitä ei tulisi rikkoa.

        Muista että Excelin VBA on formeineen joustava ohjelmointikieli ja ainakin yhteistoimintaa on kuullut mainostettavan. Ei ole kovin huono asia säästää käyttäjää ylimääräiseltä työvaiheelta, jos hän voisi käyttää simppeliä raportointipohjaa.


    • ei hän siinä tartte kuin referenssit Exceliin
      ja siirtää datan sinne.
      Tiedot voit viedä esim. toiseen tauluun ja sitten toiseen teet raportin.En ajanut koodia läpi,mutta luultavasti pitäisi toimia.musita referenssi exceliin....

      Private Sub Tulosta_Click()
      Dim xl As Excel.Application
      Dim Kohde As Workbook
      Dim objDB As Database
      Dim objRS As Recordset
      Dim SQL As String
      Dim luku As Integer
      Set xl = New Excel.Application
      Set Kohde = Workbooks.Open("C:\Lähettämö\Lähete.xls", False, False)
      Set objDB = CurrentDb()
      SQL = "SELECT Merkki,Ovityyppi,Kpl,ToimitettuKpl,OikeaLeveys,OikeaKorkeus,Huom From Tilaukset WHERE Lähetyslista=False AND LaskunNumero= " & CboLaskunnumero & " "
      Set objRS = objDB.OpenRecordset(SQL, dbOpenDynaset)

      Worksheets("Data").Activate
      Range("A2:G1000") = ""
      Range("A2").CopyFromRecordset objRS
      xl.DisplayAlerts = False
      Kohde.Close SaveChanges:=false
      'tähän tulostusalue ja tulostusjutut
      xl.DisplayAlerts = True
      Set xl = Nothing
      Set Kohde = Nothing
      End Sub

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      42
      3816
    2. Riikka Purran kaudella nousi bensan hinta yli 2 euron

      Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal
      Maailman menoa
      38
      3407
    3. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      69
      3008
    4. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      91
      2870
    5. Miks tän meidän

      Rakkauden on pitänyt olla näin vaikeaa?
      Ikävä
      35
      1858
    6. Mitäs nyt sijoittajat?

      Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no
      Maailman menoa
      84
      1857
    7. muista olla

      VAROVAINEN! m
      Ikävä
      24
      1699
    8. Elän vastoin

      Kaikkia arvoja kun en pysy sinusta erossa.
      Ikävä
      28
      1627
    9. Onneksi on edes yksi kuva

      Susta mitä voin välillä ihastella ja kaipailla sua😔
      Ikävä
      31
      1622
    10. Olisitpa se hellä

      Ja herkkä minkä kuvan sain sinusta irl. Haluaisin että elämässäni olisi sellainen joka arvostaa minua juuri sellaisena k
      Ikävä
      23
      1594
    Aihe