Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

Export in xls files

- - - - -
  • Please log in to reply
4 replies to this topic

#1
caesar_sw

caesar_sw

    Member

  • Grup: Members
  • Posts: 419
  • Înscris: 16.04.2003
Salut...

Care va pricepeti la Access si VB am o chestiune de rezolvat ..
O tabela in Acces contine
camp1 | camp2
---------------
xxxx    |  ssss
yyyy    |  lllllll

etc.....

Vreau sa export toate inregistrarile din tabela in fisiere xls astfel
toate inregistrarile care au xxxx pe camp1 in xxxx.xls
toate inregistrarile care au yyyy pe camp1 in yyyy.xls
etc.
Treaba trebuie facuta in spatele unui buton...ceva simplu in Acces

Pt export se foloseste DoCmd.TransferSpreadsheet dar nu prea stiu cum fac legatura intre numele campului si numele fisierului in care urmeaza sa export.

Poate cineva sa dea un exemplu , cum s-ar face chestiuta asta?
Merci.

#2
romi

romi

    Junior Member

  • Grup: Members
  • Posts: 96
  • Înscris: 20.05.2005
incearca cu procedura de mai jos, insa inainte trebuie sa faci un select pt inreg care te intereseaza pe tine (in loc de table poti folosi si un recordset, pe acesta din urma il poti pasa ca argument procedurii)

'pune un tabel dintr-un mdb intr-un fisier .xls incepand cu celula (row,col), tabela se afla in baza curenta cu care lucrezi
Public Sub PutTableInExcel(strPathFileExcel As String, strNameTable As String, row As Long, col As Long)
    Dim xlApp As New Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim rs As Recordset
    Dim i As Long, j As Long, k As Long
        
    If Dir(strPathFileExcel) <> "" Then
        Set xlApp = New Excel.Application
        Set xlBook = xlApp.Workbooks.Open(strPathFileExcel)
        Set xlSheet = xlBook.Worksheets(1)
    
        Set rs = db.OpenRecordset(strNameTable, dbOpenDynaset)
        'xlSheet.Name = "prima"
        i = row
        j = col
        Do Until rs.EOF
            For k = 0 To rs.Fields.Count - 1
                xlBook.Sheets(1).Cells(i, k + j) = rs.Fields(k)
            Next k
            rs.MoveNext
            i = i + 1
        Loop
  
        xlBook.Save
        xlBook.Close
        xlApp.Quit
        
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing
    Else
        MsgBox "Nu exista fisierul.", vbCritical, strE
    End If
End Sub

cu respect,
romi

#3
caesar_sw

caesar_sw

    Member

  • Grup: Members
  • Posts: 419
  • Înscris: 16.04.2003
Merci Romi.
Nu este varianta cea mai fericita...pentru mine, plus ca la linia asta xlBook.Sheets(1).Cells(i, k + j) = rs.Fields(k) nu prea merge...., NU stie sa creeze fisierele xls si n-am sapat mai departe...

Iata rezolvarea:

Option Compare Database
Option Explicit

Dim strCriteria As String

Function funGetCriteria()
funGetCriteria = strCriteria
End Function

Public Function ExportTable()

Dim qdf As QueryDef
Dim rs As Recordset
Dim strSql As String
Dim strPath As String

strPath = "C:\YourPath"
strSql = "SELECT nume_tabela.[name1] FROM nume_tabela"

Set qdf = CurrentDb.CreateQueryDef("", strSql)
Set rs = qdf.OpenRecordset

Do While Not rs.EOF
    strCriteria = rs![name1]
    Debug.Print funGetCriteria
    DoCmd.OutputTo acOutputQuery, "your_Query", acFormatXLS, strPath & strCriteria & ".xls"
    rs.MoveNext
Loop

MsgBox "Export Done", vbOKOnly, "Export Files"
Set rs = Nothing
Set qdf = Nothing

End Function



Trebuie facut your_Query in care am adaugat la Criteria: =funGetCriteria()

Numai bine.

#4
romi

romi

    Junior Member

  • Grup: Members
  • Posts: 96
  • Înscris: 20.05.2005
salut,

ai adaugat referinte la excel la projectul din vb? in mod normal ar tb sa mearga

numai bine,
romi

#5
caesar_sw

caesar_sw

    Member

  • Grup: Members
  • Posts: 419
  • Înscris: 16.04.2003
:OK:

View Postromi, on Nov 9 2005, 04:34, said:

salut,

ai adaugat referinte la excel la projectul din vb? in mod normal ar tb sa mearga

numai bine,
romi

Salut,
Da, aveam referinte la excel, la linia respectiva imi zicea ceva de genul ca ce e dreapta nu se pupa cu ce e in stanga.
Problema majora e ca varianta ta nu creaza singura fisierele xls, ele trebuie sa existe.
Oricum merci, am rezolvat-o cum am scris mai sus.
:OK:

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate