PDA

Vollständige Version anzeigen : Hochkomma bei Transferspreedsheet


kommune1
07.05.2004, 07:21
Guten Morgen!

Ich habe ein Problem mit dem Befehl Transferspreedsheet, wenn ich über diesen Befehl eine Tabelle Exportiere wird ein ' vor jede Auftragsnummer eingefügt.
Exportiere ich die Tabelle mit dem Button "in Excel analysieren" ist dies nicht der Fall.

Nach dem Export startet ein Arbeitskollege von mir ein Makro mit SVerweisen, diese kommen mit dem ' vor der Auftragsnummer nicht mehr klar, kennt ihr eine Lösung?

ein Beispiel:

EPL 5020170401 3320075241 (export über "Analyse-Button")
'EPL '5020170401 '3320075241 (export mit Transferspreedsheet)

in der Tabelle sind alle drei Felder als Text definiert, der Datentyp zahl ist nicht geeignet da hierfür die ganzen Tabellen geändert werden müssten.
Wenn ich mich net irre gibt es dann auch ein Problem mit der Zahlengrösse.

Habe schon versucht in Exel die Spalte dann in eine Zahl abzuändern, hat aber nichts genützt

Danke schonmal

Grüsse
Daniel

FW
07.05.2004, 11:37
... am schnellsten und einfachsten wäre wohl eine temporäre Kopie Deiner Daten in eine Tabelle die ganau so aufgebaut ist wie die jetztige, mit dem Unterschied, dass die entsprechenden Felder als numerisch definiert werden, die Du dann transferierst...

kommune1
07.05.2004, 12:02
Hi,

@FW
das hört sich gut an, nur wie stelle ich das mit einer temporären Tabelle an?

Die jetztige Funktion sieht so aus:

Mit einer Tabellenerstellungsabfrage wird eine tbl erstellt, sozusagen ist die schon temporär, nach dem erstellen kommt der TransferSpreedsheet-befehl und dann starte ich noch ein Makro in Excel


DoCmd.SetWarnings False
DoCmd.OpenQuery "Create_Overview", acViewNormal, acEdit
DoCmd.Close acQuery, "Create_Overview", acSaveNo
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "tbl_Overview", "T:\AccessOV\OVMakro.XLS", True

'// Diese Befehlskette Startet das Makro
On Error GoTo ErrorHandling
Set objExcel = New Excel.Application
objExcel.Workbooks.Open "T:\AccessOV\OVMakro.XLS"
objExcel.Visible = True

If (Form_Overview.Projekt.Value = "MMO") Then
objExcel.Run "OVSpeichern_MMO"
ElseIf (Form_Overview.Projekt.Value = "TMO") Then
objExcel.Run "OVSpeichern_TMO"
'ElseIf (Form_Overview.Projekt.Value = "CGL") Then
' objExcel.Run "OVSpeichern"
Else
objExcel.Run "OVSpeichern"
End If

Set objExcel = Nothing


Ich habe gerade probiert in meiner Tabelle die Felder als ZAHL anzugeben, mit dem Datentyp Singel bleiben mir auch die Werte erhalten, aber irgendwie interessiert das Excel nicht wirklich, bzw hab ich festegestellt das nach der Erstellungsabffrage die Felder wieder auf TEXT stehen.

Gibt es einen VB-Befehl mit dem ich den Datentyp in einer Access-TBL ändere?

Grüsse

FW
07.05.2004, 12:25
... schick' mir doch einfach mal die MDB, dann können wir das vielleicht ein wenig abkürzen, ich glaube nämlich, dass womöglich nur die Abfrage "Create_Overview" angepasst werden muss.
Bist Du eigentlich ganz sicher, dass nur numerische Werte in den betroffenen Spalten der Tabelle stehen?

kommune1
07.05.2004, 13:29
Hi,

das mit dem Schicken ist schwierig, das ding ist 120MB gross :)
zum anderen ist das ganze mit Daten gefüllt die ich glaub nicht hergeben darf.

:bawling:

Bei den numerischen Werten bin ich mir sicher, allerdings ist der Datentyp der Haupttabelle TEXT und erst durch meine CREATE Abfrage soll es ja dann zur ZAHL werden, da ich sonst Probleme mit ganz vielen anderen Tabellen und Abfragen bekomme...

Ich poste mal die CREATE SQL ansicht

SELECT Data.Projekt, Data.[SD-SAG], Data.[SD-SRI], Data.[Net-Id], Data.Konfi, Data.[NE-Typ], Data.[NE-Verw], Data.Status, Data.geplLiefertermin, Data.MOS, Data.verschobLiefertermin, Data.[Datum WA], Data.LieferUhrzeit, Data.Lieferadresse, Data.Site, Data.SiteNo, Data.VSTK, Data.remarks, Data.remarkintern INTO tbl_Overview
FROM Data
WHERE (((Data.Projekt)=[Formulare]![Overview].[Projekt]) AND ((Data.[SD-SRI]) Not Like "336*") AND ((Data.Status) Not Like "4*") AND ((Data.[Datum WA]) Between [Formulare]![Overview].[calendarfrom] And [Formulare]![Overview].[calendarto] Or (Data.[Datum WA]) Is Null))
WITH OWNERACCESS OPTION;

FW
07.05.2004, 13:41
... ok, dann ändere Deine Abfrage doch mal dahingehend, dass Du die betroffenen Felder als Zahl selektierst, also etwa so:
statt
SELECT Feld1, Feld2, Feld3,...
besser
SELECT VAL(Feld1), VAL(Feld2),Feld3,...

Alles klar?
Frank

kommune1
07.05.2004, 14:35
SUPER! DANKE! :knuddel: :D

mit VAL hat es geklappt!