Таны дансанд нэг асуулгын талбарт олон үр дүнг хэрхэн харуулах вэ

Одоо хуваалцах:

Хэрэв та мэдээллийн сангийнхаа бусад мэдээллийн хамт талбар/асуултын утгуудын хязгаарлагдмал жагсаалтыг гаргах шаардлагатай байсан бол энэ нь хамгийн сайндаа хэцүү байж болохыг мэдэх болно - мөн ихэнх хүмүүс энэ даалгаврыг биелүүлэх боломжгүй гэж боддог. Жишээлбэл, хэрэв танаас жилийн сар бүрийн шилдэг 5 борлуулалтын ажилтан хэн байсан тухай тайланг (буурах дарааллаар) эсвэл үйлчлүүлэгч бүрт хамгийн ойр байрлах 3 дэлгүүрийн тайланг гаргахыг хүссэн бол та хөндлөн табын асуулгатай маргалдах эсвэл Access-ээс гадуур үр дүнг гараар нэгтгэх шаардлагатай болно. Гэхдээ бага зэрэг VBA кодын тусламжтайгаар та хэдхэн минутын дотор дараах үр дүнг гаргах болно...

сарын Жон, Сэлли, Билл
сарын Салли, Адам, Жон
Нийтэлсэн Адам, Салли, Билл

Илүү их асуултын нэг хэсэг болох үр дүнгийн хязгаарлагдсан жагсаалтыг харуулах нь ашигтай байх тохиолдол олон байдаг - борлуулалтын төлөөлөгч бүрийн хамгийн том 3 үйлчлүүлэгчийн жагсаалт, таны хамгийн их мөнгө зарцуулдаг үйлчлүүлэгч тус бүрт хамгийн ойр байрлах 5 дэлгүүр , жагсаалт үргэлжлэх болно.

Тайлангаа хамт оёхоо боль

Хатагтай хандалтИйм төрлийн тайлан үүсгэх дэлгэрэнгүй мэдээллийг авах нь илүү дээр боловч та хүснэгтийг Access-ээс гадуур хүснэгт эсвэл тайлангийн хэсэг болгон гараар оёх хэрэгтэй болдог.

Дараах код нь Access-ээс гадуурхи хайлтын үр дүнг хуурдах хэрэгцээг хасч, дээр дурдсан үр дүнг хялбархан гаргах боломжийг танд олгоно.

Нэгдүгээрт, кодыг юу хийхийг хүсч байгаагаа тоймлоё.

“Асуулгыг өгөөд, x-ийн үр дүнг буцааж нэг мөрөнд нэгтгэ."

Эхлэхээсээ өмнө

Кодыг үзэхийн өмнө илүү нийтлэг бөгөөд аливаа асуулгын хослолыг зохицуулах чадвартай VBA функцийг бий болгох боломжтой боловч ингэснээр нэлээд урт код гарах болно гэдгийг анхаарах хэрэгтэй. жишээ тохиолдлыг тодорхойлж, тухайн хэргийг шийдвэрлэх функцийг бичих явдал юм. Ийм байдлаар хийснээр та өөрийн хэрэгцээ шаардлагад нийцүүлэн кодыг дахин бүтээхэд илүү хялбар болно.

Түүврийн хэрэг

Бидэнд худалдан авагчдын харьяалагдах бүтээгдэхүүний ангиллын хамт хэрэглэгчийн худалдан авалтын дэлгэрэнгүй мэдээллийг хадгалах борлуулалтын мэдээллийн сан бий. Бид сараар, топ 3 ангиллыг буурах дарааллаар харуулсан тайлан гаргахыг хүсч байна.

Энгийн байхын тулд бид жишээг нэг хүснэгтэнд хадгалах болно, гэхдээ таны тохиргооноос үл хамааран захирал ажиллах болно. Бидний ашиглах хүснэгтийг дараах байдлаар тохируулав.

Борлуулалтын
Хэрэглэгчийн нэр
Гүйлгээ хийх огноо
Гүйлгээний утга
Ангилал

Мэдээжийн хэрэг энэ нь хэт хялбаршуулсан тохиргоо юм, гэхдээ та санаагаа олж авна.

Одоо код

Public Function CategoryList(Month As String, NumResults As Integer, SortAscending As Boolean, Delimiter As String) As String
    Dim sSql, resultString As String
    Dim rst As Recordset
    Dim firstLine As Boolean
    
    'Create our SQL string using the supplied parameters
    sSql = "SELECT TOP " & NumResults & " [category] FROM sales GROUP BY Format([TransactionDate],""mmm""), sales.Category HAVING (((Format([TransactionDate], ""mmm"")) = """ & Month & """))"
    If SortAscending Then sSql = sSql & " ORDER BY Sum(sales.TransactionValue) DESC;"
    
    Set rst = CurrentDb.OpenRecordset(sSql)
    
    firstLine = True
    
    'Loop through the results, and create the string to return
    With rst
        Do While Not .EOF
            If Not firstLine Then
                resultString = resultString & Delimiter & .Fields("category")
            Else
                resultString = resultString & .Fields("category")
                firstLine = False
            End If
            
        .MoveNext
        Loop
    End With
    
    Set rs = Nothing
    CategoryList = resultString
End Function

Код - тайлбарласан

VBA кодТаны харж байгаагаар код нь нэлээд ойлгомжтой юм. Бид асуулга үүсгэхийн тулд өгөгдсөн параметрүүдийг ашиглан эхэлдэг. Асуулгын мөр үүсгэсний дараа бид үүнийг гүйцэтгэж, үр дүнг давтаж, тэдгээрийг хооронд нь холбож, бидний хайж буй ганц үр дүнгийн мөрийг үүсгэдэг.

Бид мөрөнд зааглагч нэмэх үү үгүй ​​юу гэдгийг шалгаж байгааг анзаарах болно.Энэ шалгалтгүйгээр та муу форматлагдсан үр дүнгийн мөрийг оруулах эсвэл хүсээгүй зааглагчийг арилгахын тулд код нэмэх шаардлагатай болно. ингэснээр аливаа зүйлийг эхнээс нь сайхан, цэмцгэр байлгадаг.

Мэдээжийн хэрэг функцийг өөрөө асуулга, тайлан эсвэл Access-ээс хүссэн газраасаа дуудаж болно.

Гэмтсэн хандалтын мэдээллийн санг засах

Хэрэв та тулгарвал эвдэрсэн хандалтын мэдээллийн сан Хэрэв та дээрх кодыг ажиллуулах юм бол тэдгээрийг засахын тулд зарим тусгай хэрэгслийг ашиглаж, бүх хүснэгтийг гэмтсэн мэдээллийн сангаас сэргээх нь дээр.

Зохиогчийн танилцуулга:

Митчелл Цөөрөм бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. SQL асуудлыг засах болон excel сэргээх програм хангамжийн бүтээгдэхүүнүүд. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com

Одоо хуваалцах:

Тайлбарууд нь хаалттай байна.