Access'ten VB'ye TableAdapter Yapılandırma Sihirbazı'nı kullanarak veri getirmeye çalışıyorum. Veritabanımdaki her şey dize olarak ayarlanmış ve bu şekilde kalmalıyım. Birlikte 3 rakam eklemem ve her sıradaki her rakamın ortalamasını almam gerekiyor. Benim meselem, 3 rakamı eklemekten ziyade diziyi birleştiriyor olması.VB SQL İfadelerine Erişim
SELECT
ID, StudentID, FirstName, Surname, MCQ, Project,
Exam, [Password], IIF(ISNULL(MCQ), 'Not Completed', MCQ) AS Expr2,
IIF(ISNULL(Project), 'Not Completed', Project) AS Expr3,
IIF(ISNULL(Exam), 'Not Completed', Exam) AS Expr4,
IIF(ISNULL(MCQ), 1, MCQ) + IIF(ISNULL(Project), 1, Project) + IIF(ISNULL(Exam), 1, Exam) AS Expr5
FROM
tblStudents
Bazı sütunlar boş olacak ve bir IsNull
işlevini kullanarak bu yüzden.
Bu konuda herhangi bir şekilde herhangi bir öneri var mı?
Sorun bu: Neyse, değerler ekleyerek yerine onları bitiştirmek amacıyla bir sayısal türe zorlamak IIF() ifadeleri bir CDbl() veya CInt ile() veya bazı dökme işlevini sarmak Numaraları diziler gibi depolamak gibi şeyleri yaptıklarında. Sayı olarak kullanmanız gerektiğinde işleri karmaşıklaştırırsınız. Şimdi bu dizeleri sayılara dönüştürmelisiniz, böylece onlarla matematik yapabilirsiniz, bunları özetlemek veya ortalamalamak ya da onları artırmak zordur, çünkü bunları da dönüştürmelisiniz. Ayrıca, DB performansınızı daha da yavaşlatıyor, dönüşümleri tekrar tekrar yapmakta olduğu için, sütun doğru bir şekilde sıralanmıyor (sayısal sıralamada) ve gelecekte başka sorunlarla karşılaşıyorsunuz. Verileri düzeltmek daha iyidir. –
Oyuncular yapmayı deneyin. –