Hoi, met pijn en moeite heb ik het voor elkaar gekregen om een excel connectie te maken. Waarom? Ik zal het ff uitleggen.
Iemand kan een een excel sheet uppen, met data (logisch
)
Maar die data moet wel op een fatsoenlijke manier in een MS SQL db gepropt worden. De velden in deze db zijn voorgedefineerd en daar mag niet van afgeweken worden. Nu dacht ik, door dropdowns te vullen, met de veldnamen uit het excel sheet, dan kan ik daarna wel die db vullen met de gegevens uit het sheet.
Nu heb ik de volgende code:
het lukt me wel om die dropdowns te vullen met de veldnamen, alleen als ik een veld niet gebruik, dan blijft ie op Selecteer: staan deze waarde wordt dan ook meegegeven. Maar hij moet die juist negeren.
Iemand een oplossing / idee.
p.s.: ideeen om dit simpeler te doen zijn ook welkom natuurlijk
--edit: sorry voor het verne*ken van de layout
Iemand kan een een excel sheet uppen, met data (logisch
Maar die data moet wel op een fatsoenlijke manier in een MS SQL db gepropt worden. De velden in deze db zijn voorgedefineerd en daar mag niet van afgeweken worden. Nu dacht ik, door dropdowns te vullen, met de veldnamen uit het excel sheet, dan kan ik daarna wel die db vullen met de gegevens uit het sheet.
Nu heb ik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
| <%
' Selected constants from adovbs.inc
Const adOpenStatic = 3
Const adLockPessimistic = 2
Dim cnnExcel
Dim rstExcel
Dim I
Dim iCols
Dim Bestandsnaam
Dim Veldnaam
' This is all standard ADO except for the connection string.
' You can also use a DSN instead, but so it'll run out of the
' box on your machine I'm using the string instead.
Bestandsnaam = session("xls")
Veldnaam = Request.Form ("sheetname")
Set cnnExcel = Server.CreateObject("ADODB.Connection")
cnnExcel.Open "DBQ=d:\wwwroot\xls_files\"&Bestandsnaam & ";" & "DRIVER={Microsoft Excel Driver (*.xls)};"
' Same as any other data source.
' FYI: TestData is my named range in the Excel file
Set rstExcel = Server.CreateObject("ADODB.Recordset")
rstExcel.Open "SELECT * FROM [" & Veldnaam & "];", cnnExcel, adOpenStatic, adLockPessimistic
' Get a count of the fields and subtract one since we start
' counting from 0.
iCols = rstExcel.Fields.Count
%>
<link rel="stylesheet" href="verhuiskrt.css" type="text/css">
<h1>Koppel hier uw data!</h1>
<form name="excell" method="post" action="xlsfiledbinsert.asp">
<table width="637" border="0">
<tr>
<td width="218">
<h1>Vaste Waardes</h1>
</td>
<td width="409">
<h1>Uw database</h1>
</td>
</tr>
<tr>
<td width="218">
<input type="text" name="VOORNAAM" value="Voornaam">
</td>
<td width="409">
<select name="vnaam1">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
<select name="vnaam2">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
</td>
</tr>
<tr>
<td width="218">
<input type="text" name="ACHTERNAAM" value="Achternaam">
</td>
<td width="409">
<select name="anaam1">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
<select name="anaam2">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
</td>
</tr>
<tr>
<td width="218">
<input type="text" name="ADRES" value="Adres">
</td>
<td width="409">
<select name="adres1">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
<select name="adres2">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
<select name="adres3">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
</td>
</tr>
<tr>
<td width="218">
<input type="text" name="POSTCODE" value="Woonplaats">
</td>
<td width="409">
<select name="woonplaats">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
</td>
</tr>
<tr>
<td width="218">
<input type="text" name="POSTCODE" value="Postcode">
</td>
<td width="409">
<select name="postcode1">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
<select name="postcode2">
<option selected>Selecteer:</option>
<option value="<%=rstExcel.Fields.Item(I).Name%>"><%=rstExcel.Fields.Item(I).Name%></option>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" name="Submit" value="Verder!">
</form>
<%
rstExcel.Close
Set rstExcel = Nothing
cnnExcel.Close
Set cnnExcel = Nothing
%> |
het lukt me wel om die dropdowns te vullen met de veldnamen, alleen als ik een veld niet gebruik, dan blijft ie op Selecteer: staan deze waarde wordt dan ook meegegeven. Maar hij moet die juist negeren.
Iemand een oplossing / idee.
p.s.: ideeen om dit simpeler te doen zijn ook welkom natuurlijk
--edit: sorry voor het verne*ken van de layout
Heart..pumps blood.Has nothing to do with emotion! Bored