2013-02-20 114 views
0

我有一個CSV文件(樣本)從csv文件變量賦值

Firm,Code,Server 
Adsuar,BZ,RKASP01 
Ahlers,AU,RKASP02 
Andrews,CW,RKASP02 
Armbrecht,AS,RKASP02 
Barron,ZZ,RKASP01 
Beckman,BI,RKASP02 

,我試圖尋找在VBScript辦法把我的網站上一個選擇框,列出了A列的值,並然後用列B和C的內容在同一行中填充兩個變量。

我有我需要讀取csv文件,並可以遍歷文件並回顯所有的內容,但我有一些麻煩找到從這裏去哪裏。任何建議,我可以開始將不勝感激。

我的代碼目前是

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = objFSO.OpenTextFile("\\rkaspctl01\n$\wwwroot\dev\clients.csv", 1) 

do while not (objTextFile.AtEndOfStream) 
    arrStr = Split(objTextFile.ReadLine, ",") 
    strFirm = arrStr(0) 
    strCode = arrStr(1) 
    strServer = arrStr(2) 
Loop 

objTextFile.close 

感謝 帕特里克·斯托達德

+0

這我不清楚你的實際問題是什麼。您的代碼示例確實從CSV文件讀取記錄。一旦你從文件中讀取數據,你想對數據做什麼? – 2013-02-21 09:33:52

回答

0

開始把你的數據在一個鍵/值對(字典),其中的關鍵是從A列中的值,該值爲含B柱和C值的數組:

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = objFSO.OpenTextFile("\\rkaspctl01\n$\wwwroot\dev\clients.csv", 1) 
Set objFirmDict = CreateObject("Scripting.Dictionary") 

do while not (objTextFile.AtEndOfStream) 
    arrStr = Split(objTextFile.ReadLine, ",") 
    objFirmDict.Add arrStr(0), array(arrStr(1), arrStr(2)) 
Loop 

objTextFile.close 

現在你可以從字典中的項填充您的列表框。
僞代碼:

firmListbox = document.getElementById("firmSelect") 
For each firm in objFirmDict.Keys 
    Set newOption = document.createElement("option") 
    newOption.text = firm 
    newOption.value = firm 
    firmListbox.Add newOption, Nothing 
Next 

當一個選項被選中,更新與正確的文本的兩個變量。

在你的網頁:

<input type="select" id="firmSelect" onchange="vbscript:firmSelectChange me.Value"> 

onChange事件調用firmSelectChange子。這必須從字典中檢索兩個變量。請注意:字典必須具有文檔的全局範圍。

僞此處理子:

Sub firmSelectChange(value) 
    dataArr = objFirmDict.Item(value) 
    code = dataArr(0) 
    server = dataArr(1) 
End Sub 
0

您可以使用TDC(Tabular Data Control)。

<HTML> 
<HEAD> 
<TITLE>TDC Example</TITLE> 

<OBJECT ID="dataTDC" CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83"> 
    <PARAM NAME="TextQualifier" VALUE=""> 
    <PARAM NAME="FieldDelim" VALUE=","> 
    <PARAM NAME="DataURL" VALUE="data.csv"> 
    <PARAM NAME="UseHeader" VALUE="true"> 
</OBJECT> 

</HEAD> 
<BODY> 

<TABLE DATASRC="#dataTDC" BORDER="1" CELLSPACING="0"> 
    <THEAD> 
    <TR> 
     <TD><B>Firm</B></TD> 
     <TD><B>Code</B></TD> 
     <TD><B>Server</B></TD> 
    </TR> 
    </THEAD> 
    <TR> 
    <TD><SPAN DATAFLD="Firm"></SPAN></TD> 
    <TD><SPAN DATAFLD="Code"></SPAN></TD> 
    <TD><SPAN DATAFLD="Server"></SPAN></TD> 
    </TR> 
</TABLE> 

</BODY> 
</HTML> 

輸出結果:

screenshot

+0

謝謝AutomatedChaos和Panayot這兩個選項給了我一個很好的起點。我會看到我可以對他們做什麼,並讓你知道發生了什麼。 – 2013-02-21 13:15:55