2016-03-22 13 views
0

ile diziye koy. Birkaç tablo içeren bir tablo içeren bir veritabanım var. Hesaplamalarda tablo bilgileri kullanılacaktır.Access veritabanından birden çok colons oku ve bunların her birini VBScript

  1. (1. kare 2., uzunluğu 3. Kendi Genişlik)

  2. : Örneğin , "Uzunluk" "Tip" 3 iki nokta üst üste tablosundaki, "genişlik" sonraki veri (1. Üçgen 2. Onun Uzunluk 3. Onun Genişlik)

    her şekil alanları hesaplamak gerekir

- Açıkçası, ben onlar için farklı formüller kullanmak zorunda kalacaktır. Karşılık gelen satırda saklanan her rakam hakkında bilgi. İşte

Ben erişim veritabanına kullanmak örnek kod şudur: Şimdilik

Option Explicit 
Dim databaseConnection, strConnect 
Set databaseConnection = CreateObject("ADODB.Connection") 
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\example.mdb" 

databaseConnection.Open strConnect 

Dim type, typeArray 
Dim length, lengthArray 
Dim width, widthArray 
Dim connectionA, connectionB, connectionC 

Function findValues(valueString, valueArray, connection) 

Do While Not connection.EOF 
    valueString = valueString + connection.Fields(0) & "," 
    connection.MoveNext 
Loop 
valueArray = Split(valueString, ",") 
End Function 

Set connectionA = databaseConnection.execute("SELECT Type FROM ExampleTable") 
Call findValues(type, typeArray, connectionA) 
Set connectionB = databaseConnection.execute("SELECT Length FROM ExampleTable") 
Call findValues(length, lengthArray, connectionB) 
Set connectionC = databaseConnection.execute("SELECT Width FROM ExampleTable") 
Call findValues(width, widthArray, connectionC) 

, hesaplamalarına ile rahatsız etmeyelim ve bizim kod doğru olup olmadığını sadece öğrenmek:

WScript.echo(typeArray(1) & & lengthArray(1) & widthArray(1)) 

Set databaseConnection = Nothing 

WScript.sleep 60000 

O çıkarır şekil tipi, ancak uzunluk veya genişlik değil. Yani, hesaplamada uzunluk veya genişlik kullanılamaz. Herhangi bir ipucu, neden böyle? Belki de kararımı nasıl basitleştirebileceğime dair öneri?

Lütfen senin, Richard

cevap

1

Bu rakam türünü verir, ancak bu uzunluk veya genişlik var.

Do While Not connection.EOF 
    valueString = valueString + connection.Fields(0) & "," 
    connection.MoveNext 
Loop 
: Yalnızca fields(0) okuyup fields(1) ve Fields(2) unutmak çünkü

That

İlgili konular