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

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ä.
51093
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

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.

Äänestä

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

Äänestä
  • 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?

    Äänestä

  • 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.

    Äänestä

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

Äänestä

Kommentoi aloitusta


sql-kyselijä kirjoitti:

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ä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu