Thomas Kr?gis
2004-12-02 09:50:42 UTC
Hallo Bernd,
wenn ich die folgende Intranet-Adresse als Hyperlink in einem Excel
Datenblatt ablege, kann ich die Access Datenbank oeffnen.
http://us-apps02.us.bayer.cnb/apps/cc/isccd/globalusbase.nsf/a2359e1209b11a18c1256982003b7e87/028853bca2b6247685256e6e0072fabe/$FILE/SCV_3.0.mdb
Ich möchte aber nicht die Datenbank mit jedem Zugriff oeffnen, sondern
lediglich nur auslesen.
wenn ich das in meinem Source Code probiere, kommt folgende
fehlermeldung:
Laufzeitfehler '3055':
Kein zulässiger Dateiname
Die Excel Hilfe kann hier leider auch keine ausreichende Erlaeuterung
geben.
Anbei habe ich mal meinen Source Code eingefuegt falls das helfen
könnte. Wenn Dir etwas bekannt vorkommen sollte, liegt das daran, das
dein Excel Kompendium mich hier tatkräftig unterstuetzt hat. Ich suche
allerdings immer noch erfolglos nach Fachliteratur, wo Excel und sein
Umfeld (Access, Mail(Lotus Notes), Internet...) ausführlicher
beschrieben ist.
viele Gruesse
Thomas
Source Code:
============
Option Explicit
Public Tab2 As Worksheet
Public Tab3 As Worksheet
Public Tab7 As Worksheet
Public Tab10 As Worksheet
Public DBS As Database
Public RST As Recordset
Public His As Integer
Public N As Integer
Public Z As Integer
Public Zeile As Integer
Public Key1 As String
Public Key4 As String
Public Key4_C As String
Public YM_1 As String
Public YM_2 As String
Sub Selection_Data_Forecast()
Set Tab2 = Worksheets("HandingOver")
Set Tab3 = Worksheets("MasterData")
Set Tab7 = Worksheets("Forecast")
Set Tab10 = Worksheets("ForecastGroup")
Set DBS = OpenDatabase("http://us-apps02.us.bayer.cnb/apps/cc/isccd/globalusbase.nsf/a2359e1209b11a18c1256982003b7e87/028853bca2b6247685256e6e0072fabe/$FILE/SCV_3.0.mdb")
Zeile = 50
With Tab2
If IsEmpty(.Cells(26, 2)) = True Then
His = .Cells(26, 3)
Else
His = .Cells(26, 2)
End If
Key1 = .Cells(2, 2)
YM_1 = .Cells(WorksheetFunction.Sum(Zeile, -His), 8)
YM_2 = .Cells(WorksheetFunction.Sum(Zeile, 1), 8)
Region = "'" & .Cells(17, 2) & "'"
End With
Key4 = "'" & Tab2.Cells(5, 2) & "'"
With Tab10
.Activate
.Range("A1").Select
End With
Delete_Table
Select Case Key1
Case Is = 1
With Tab7
.Activate
.Range("A1").Select
End With
Key4 = "'" & Tab3.Cells(1, 1) & "'"
Key4_C = Key4
Delete_Table
Z = 0
N = 1
Do Until IsEmpty(Tab3.Cells(N, 1)) = True
Set RST = DBS.OpenRecordset _
("SELECT Forecast.Date, " + Key4_C + ",
sum(Menge1), sum(Menge2), sum(Menge3), " _
& "sum(Menge4), sum(Menge5), sum(Menge6),
sum(Menge7), " _
& "sum(Menge8), sum(Menge9), sum(Menge10),
sum(Menge11), " _
& "sum(Menge12), sum(Menge13), sum(Menge14),
sum(Menge15), " _
& "sum(Menge16), sum(Menge17), sum(Menge18),
sum(Menge19) " _
& "FROM MasterData INNER JOIN Forecast " _
& "ON MasterData.Material = Forecast.Material
" _
& "Where Forecast.Material = " + Key4 + " " _
& "and Region = " + Region + " and Scope =
'Scope' " _
& "and Date > " + YM_1 + " and Date <= " +
YM_2 + " " _
& "GROUP BY Forecast.Date, " + Key4_C + ";")
ActiveCell.CopyFromRecordset RST
Tab7.Range("A65536").End(xlUp).Select
Z = ActiveCell.Row
Z = Z + 1
Tab7.Cells(Z, 1).Select
N = WorksheetFunction.Sum(N, 1)
Key4 = "'" & Tab3.Cells(N, 1) & "'"
Loop
End Select
DBS.Close
End Sub
wenn ich die folgende Intranet-Adresse als Hyperlink in einem Excel
Datenblatt ablege, kann ich die Access Datenbank oeffnen.
http://us-apps02.us.bayer.cnb/apps/cc/isccd/globalusbase.nsf/a2359e1209b11a18c1256982003b7e87/028853bca2b6247685256e6e0072fabe/$FILE/SCV_3.0.mdb
Ich möchte aber nicht die Datenbank mit jedem Zugriff oeffnen, sondern
lediglich nur auslesen.
wenn ich das in meinem Source Code probiere, kommt folgende
fehlermeldung:
Laufzeitfehler '3055':
Kein zulässiger Dateiname
Die Excel Hilfe kann hier leider auch keine ausreichende Erlaeuterung
geben.
Anbei habe ich mal meinen Source Code eingefuegt falls das helfen
könnte. Wenn Dir etwas bekannt vorkommen sollte, liegt das daran, das
dein Excel Kompendium mich hier tatkräftig unterstuetzt hat. Ich suche
allerdings immer noch erfolglos nach Fachliteratur, wo Excel und sein
Umfeld (Access, Mail(Lotus Notes), Internet...) ausführlicher
beschrieben ist.
viele Gruesse
Thomas
Source Code:
============
Option Explicit
Public Tab2 As Worksheet
Public Tab3 As Worksheet
Public Tab7 As Worksheet
Public Tab10 As Worksheet
Public DBS As Database
Public RST As Recordset
Public His As Integer
Public N As Integer
Public Z As Integer
Public Zeile As Integer
Public Key1 As String
Public Key4 As String
Public Key4_C As String
Public YM_1 As String
Public YM_2 As String
Sub Selection_Data_Forecast()
Set Tab2 = Worksheets("HandingOver")
Set Tab3 = Worksheets("MasterData")
Set Tab7 = Worksheets("Forecast")
Set Tab10 = Worksheets("ForecastGroup")
Set DBS = OpenDatabase("http://us-apps02.us.bayer.cnb/apps/cc/isccd/globalusbase.nsf/a2359e1209b11a18c1256982003b7e87/028853bca2b6247685256e6e0072fabe/$FILE/SCV_3.0.mdb")
Zeile = 50
With Tab2
If IsEmpty(.Cells(26, 2)) = True Then
His = .Cells(26, 3)
Else
His = .Cells(26, 2)
End If
Key1 = .Cells(2, 2)
YM_1 = .Cells(WorksheetFunction.Sum(Zeile, -His), 8)
YM_2 = .Cells(WorksheetFunction.Sum(Zeile, 1), 8)
Region = "'" & .Cells(17, 2) & "'"
End With
Key4 = "'" & Tab2.Cells(5, 2) & "'"
With Tab10
.Activate
.Range("A1").Select
End With
Delete_Table
Select Case Key1
Case Is = 1
With Tab7
.Activate
.Range("A1").Select
End With
Key4 = "'" & Tab3.Cells(1, 1) & "'"
Key4_C = Key4
Delete_Table
Z = 0
N = 1
Do Until IsEmpty(Tab3.Cells(N, 1)) = True
Set RST = DBS.OpenRecordset _
("SELECT Forecast.Date, " + Key4_C + ",
sum(Menge1), sum(Menge2), sum(Menge3), " _
& "sum(Menge4), sum(Menge5), sum(Menge6),
sum(Menge7), " _
& "sum(Menge8), sum(Menge9), sum(Menge10),
sum(Menge11), " _
& "sum(Menge12), sum(Menge13), sum(Menge14),
sum(Menge15), " _
& "sum(Menge16), sum(Menge17), sum(Menge18),
sum(Menge19) " _
& "FROM MasterData INNER JOIN Forecast " _
& "ON MasterData.Material = Forecast.Material
" _
& "Where Forecast.Material = " + Key4 + " " _
& "and Region = " + Region + " and Scope =
'Scope' " _
& "and Date > " + YM_1 + " and Date <= " +
YM_2 + " " _
& "GROUP BY Forecast.Date, " + Key4_C + ";")
ActiveCell.CopyFromRecordset RST
Tab7.Range("A65536").End(xlUp).Select
Z = ActiveCell.Row
Z = Z + 1
Tab7.Cells(Z, 1).Select
N = WorksheetFunction.Sum(N, 1)
Key4 = "'" & Tab3.Cells(N, 1) & "'"
Loop
End Select
DBS.Close
End Sub