05. april 2005 - 18:56Der er
13 kommentarer og 1 løsning
Felttype for recordset
Jeg er ved at lave en funktion der eksporterer til Excel ved at åbne et DAO.recordset og kopiere dette ind i et nyt excelark. Mine brugere skal imidlertid kunne arbejde videre med data herfra og det er derfor nødvendigt, at f.eks. datoer har formatet datoer. Spørgsmålet lyder derfor om det er muligt at identificere felttypen for hvert felt i et recordset? Min kode er til orientering:
Public Sub CreateExcel(strSheetName As String, ByVal strRS As String)
Dim RS As DAO.Recordset Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim xlChart As Excel.Chart Dim i As Integer
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
xlApp.DisplayAlerts = False For i = xlBook.Worksheets.Count To 2 Step -1 xlBook.Worksheets(i).Delete Next i xlApp.DisplayAlerts = True
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Uddrag af den kode jeg benytter. Str$ betyder at der overføres numeriske værdier. Hvis du vil formattere som tekst skal str$ erstattes med Format. Når jeg efter eksporten kontrollerer formatet i Ezxcel er det en dato. Jeg kan sende dig hele filen hvis du ønsker, blot læg din e-mail.
du kan tjekke om en variabel er en dato vha funktionen isdate - eks:
Sub test() Dim d d = #2/10/2005# d = 12.25 If IsDate(d) Then MsgBox Format(d, "yyyy mmmm dddd") ElseIf IsNumeric(d) Then MsgBox Format(d, "#,##0.##") End If End Sub
Tak for tilsendte. Jeg (tror) imidlertid ikke at jeg kan bruge det. Din løsning forudsætter viden om hver kolonnes felttype (f.eks. om det er tekst, tal eller dato) og det er netop det spørgsmålet går på: Kan man identificere felttypen i et recordset? - Eller har jeg misforstået dig?
Hvad med nih's kommentar? Når du har skruet en db sammen, må du vel vide hvilken felttype der er tale om. det skifter jo ikke bare efter forgodtbefindende. Et datofelt vil altid være et datofelt, et numerisk felt kan aldrig indeholde tekst o.s.v. På den måde kan du skrue eksportkoden sammen, så den altid vil eksportere datoer som datoer og tekst som tekst.
Beklager, men uden mad og drikke... :-) nih -> Den sad lige i øjet!! Hvorfor f#@##% er det ikke altid at man kan se alle muligheder for et objekt ('Type' fremgår f.eks. ikke hos)?!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.