Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel Instanz wird nicht beendet

Frage Microsoft Microsoft Office

Mitglied: DeamonSadi

DeamonSadi (Level 1) - Jetzt verbinden

09.03.2011, aktualisiert 16:52 Uhr, 4526 Aufrufe, 5 Kommentare

Hallo Forumgemeinde!!!
Bin total neu und einfach aufgeschmissen!!! ^^
Mein Vorgänger hat eine Access Abfrage von Excel Dateien gemacht und ich soll dies Weiterpflegen!!!

Leider hat er mir auch einige Fehler hinterlassen!
Der gravierenste Fehler ist folgender:
Mein ImportMod funktioniert einwandfrei soweit ich die Ergebnisse der Auswertungen beurteilen kann!
Leider wenn ich mehr Importier wird mein System und das öffnen langsamer,
da immer mehr Excel Instanzen offen sind und sich nach dem Import nicht mehr schließen!
Auch das lesen von etlichen Forenbeiträgen auch in anderen Foren hat mich nicht weitergebracht!
Hab schon fast alles umdeklariert aber es Funktioniert mit den beschreibungen nicht!

Hilfe!!


Import Mod:
01.
Option Compare Database 
02.
 
03.
Sub Import(Path As String, Tabelle As String, ByRef Datum As Date) 
04.
On Error GoTo Err_Handler 
05.
    Dim app As Excel.Application 
06.
    Dim wbk As Excel.Workbook 
07.
    Dim wks As Excel.Worksheet 
08.
    Dim rsKat As DAO.Recordset 
09.
    Dim rsCode As DAO.Recordset 
10.
    Dim rsTabelle As DAO.Recordset 
11.
    Dim zeile As Integer 
12.
    Dim zSumme As Long ' Zeilen summe, wenn diese 0 ist kommt immer eine neue Kategorie 
13.
        
14.
 
15.
    'Warnmeldung ausschalten 
16.
    DoCmd.SetWarnings False 
17.
     
18.
    'Prüfen das der Pfad nicht leer ist 
19.
    If Path <> "" Then 
20.
     
21.
        'Sanduhr 
22.
        DoCmd.Hourglass True 
23.
         
24.
        'Excel öffnen 
25.
        Set app = New Excel.Application 
26.
        Set wbk = app.Workbooks.Open(Path) 
27.
        Set wks = wbk.Worksheets("Sheet1") 
28.
         
29.
        'Recordsets init 
30.
        Set rsKat = CurrentDb.OpenRecordset("Kategorie", dbOpenDynaset) 
31.
        Set rsCode = CurrentDb.OpenRecordset("Code", dbOpenDynaset) 
32.
        Set rsTabelle = CurrentDb.OpenRecordset(Tabelle, dbOpenDynaset) 
33.
        zSumme = 0 
34.
         
35.
        'Anzahl der Spalten bestimmen 
36.
        Select Case Tabelle 
37.
            Case "Anfragen" 
38.
                Spalten = 27 
39.
            Case "CBDaten" 
40.
                Spalten = 20 
41.
            Case "Kunde" 
42.
                Spalten = 27 
43.
        End Select 
44.
                 
45.
        'Zielen durchlaufen und in die Datenbank schreiben 
46.
        zeile = 3 
47.
        Do While wks.Cells(zeile, 1) <> "Summe Fachteams" 
48.
            'K_ID heraussuchen 
49.
            If zSumme = 0 Then 
50.
                'Prüfen ob es diese Kategorie schon gibt 
51.
                Lookup = DLookup("K_ID", "Kategorie", "Kategorie Like '" & wks.Cells(zeile, 1) & "'") 
52.
                If Lookup > 0 Then 
53.
                    K_ID = Lookup 
54.
                Else 
55.
                    'Neue Kategorie anlegen 
56.
                    With rsKat 
57.
                        .AddNew 
58.
                        !Kategorie = wks.Cells(zeile, 1) 
59.
                        K_ID = !K_ID 
60.
                        wbk.Update 
61.
                    End With 
62.
                End If 
63.
                 
64.
                zSumme = Zeilensumme(wks, zeile) 
65.
            Else 
66.
                zSumme = zSumme - Zeilensumme(wks, zeile) 
67.
                 
68.
                'Codegruppe ermitteln 
69.
                 Lookup = DLookup("C_ID", "Code", "K_ID = " & K_ID & " AND Code Like '" & wks.Cells(zeile, 1) & "'") 
70.
                'Prüfen ob der Code schon vorhanden ist, sonst anlegen 
71.
                If Lookup > 0 Then 
72.
                    C_ID = Lookup 
73.
                Else 
74.
                    With rsCode 
75.
                    .AddNew 
76.
                    !K_ID = K_ID 
77.
                    !Code = wks.Cells(zeile, 1) 
78.
                    C_ID = !C_ID 
79.
                    .Update 
80.
                    End With 
81.
                End If 
82.
                 
83.
                'Anfragendaten einfügen 
84.
                With rsTabelle 
85.
                    .AddNew 
86.
                    !Monat = Datum 
87.
                    !C_ID = C_ID 
88.
                    For i = 2 To Spalten 
89.
                       .Fields(i) = wks.Cells(zeile, i) 
90.
                    Next i 
91.
                    .Update 
92.
                End With 
93.
             End If 
94.
              
95.
            zeile = zeile + 1 
96.
        Loop 
97.
         
98.
        'Aufräumen 
99.
        rsKat.Close 
100.
        Set rsKat = Nothing 
101.
        rsCode.Close 
102.
        Set rsCode = Nothing 
103.
        rsTabelle.Close 
104.
        Set rsTabelle = Nothing 
105.
        'Sanduhr 
106.
        DoCmd.Hourglass False 
107.
         
108.
    End If  
109.
     
110.
    'Wanrmeldungen wieder anschaltenen, man weiß ja nie 
111.
    DoCmd.SetWarnings True 
112.
Exit_Err_Handler: 
113.
    Exit Sub 
114.
     
115.
Err_Handler: 
116.
 
117.
    MsgBox "Es konnten Zeilen nicht importiert werden. Ist die Datei vielleicht schon Importiert?(" + Err.Description + " " + Err.Source + ")" 
118.
 
119.
     
120.
    DoCmd.Hourglass False 
121.
    Resume Exit_Err_Handler: 
122.
 
123.
End Sub 
124.
' Berechnet aus einer Zeile eine Zeilensumme 
125.
Function Zeilensumme(wks As Excel.Worksheet, zeile As Integer) As Long 
126.
    'Es ist ausreichend nur die Spalte Rückfragen ohne Gesrpäche und Rufzeit zu addieren, da ich noch keine Zeile gefunden habe 
127.
    'wo alle 3 Spalten null sind. Sollte das irgendwann einmal auftrauchen muss hier dann noch eine weiter Spalte mit eingerechnet werden 
128.
    'Für Den CB noch die Spalte 15 die nie Null ist 
129.
    Zeilensumme = wks.Cells(zeile, 10) _ 
130.
                + wks.Cells(zeile, 11) _ 
131.
                + wks.Cells(zeile, 15) _ 
132.
                + wks.Cells(zeile, 16) 
133.
                 
134.
End Function
Ich hoff der Fehler steckt irgendwo da drin!

[Edit Biber] Codeformatierung [/Edit]^^
Mitglied: TsukiSan
09.03.2011 um 13:55 Uhr
Hallo DeamonSadi,

wenn du deine Zeilen mal als CODE formatieren könntest, dann könnte man dir sagen, in welcher Zeile das
01.
wbk.close
fehlt. Das würde deine Exceltabelle im Anschluss wieder schließen.

Gruss
Tsuki
Bitte warten ..
Mitglied: DeamonSadi
09.03.2011 um 14:39 Uhr
Habs jetzt so eingefügt nach gefühl!!!

Da sollt alles vorbei sein und da ist glaub ich das close Sinnvoll!!!
Und danke für deine schnelle Antwort!!!
Mich würd aber auch Interessieren ob dies die selbe Stelle ist wie bei dir!!!

MFG

Sadi

End If

'Wanrmeldungen wieder anschaltenen, man weiß ja nie


wbk.close


DoCmd.SetWarnings True
Exit_Err_Handler:
Exit Sub

Err_Handler:

MsgBox "Es konnten Zeilen nicht importiert werden. Ist die Datei vielleicht schon Importiert?(" + Err.Description + " " + Err.Source + ")"


DoCmd.Hourglass False
Resume Exit_Err_Handler:

End Sub

Ps.: Ein Microcontroller in Assembler wär mir Tausendmal lieber
Bitte warten ..
Mitglied: DeamonSadi
09.03.2011 um 14:43 Uhr
LOL also bei 24 Dateien sind immer noch 2 Instantzen offen geblieben
Bitte warten ..
Mitglied: RDiller
09.03.2011 um 16:47 Uhr
Hallo Sadi,

Ganz am Schluß musst Du die Objekte auch wieder "leeren", d.h. folgender Code fehlt:

Set wks = Nothing
Set wbk = Nothing
Set app = Nothing



Achtung, das muss in jedem möglichen Exit stehen, d.h. auch in
Exit_Err_Handler:

Achtung, Du hast Exit_Err_Handler: 2 x deklariert!!!!!
Bitte warten ..
Mitglied: DeamonSadi
10.03.2011 um 07:32 Uhr
Guten Morgen,
also ich habs jetzt wieder voll getesten mit allen Daten die ich hatte!!!
Es klappt!!! ^^
Hab dies so unter Block
'Aufräumen
und in
Err_Handler
stehen:

'Excel schließen

Set wks = Nothing
wbk.Close
Set wbk = Nothing
Set app = Nothing

Hoff wenn jemand auch so ein Problem hat kann er sich damit weiterhelfen!!!
Und Danke nochmal für die schnelle Hilfe!!!

LG

Euer Sadi
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel 2007 jedes Fenster in extra Instanz
Frage von xbast1xMicrosoft Office7 Kommentare

Hallo zusammen, folgende Situation: RechnerA und RechnerB haben beide Office 2007 (gleiche Version). Rechner A klickt doppelt auf eine ...

Microsoft Office
Excel 2010 in mehreren Instanzen öffnen
gelöst Frage von fiffi1Microsoft Office2 Kommentare

Hallo mitenander Ich habe ein kleines Problem und zwar öffnet mein Excel 2010 immer in der Selben Instanz, wenn ...

Windows 7
Druckerwarteschlange wird beendet
Frage von MasterSchlumpfWindows 72 Kommentare

Hallo zusammen, ich wende mich an euch weil ich im folgenden Fall nicht weiter komme. Bei mehreren unserer Rechner ...

Microsoft Office
Zwei Excel (2010)-Instanzen geöffnet: Auch nicht ausgewählte Zellen werden kopiert
Frage von TraxtormerMicrosoft Office5 Kommentare

Hallo zusammen, ich habe 2 Excel-Fenster geöffnet und möchte einen gewissen Bereich einer Liste kopieren. Sagen wir in dem ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 8 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 12 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 12 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 15 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server15 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...