30. september 2004 - 09:52Der er
6 kommentarer og 1 løsning
Hjælp til kodeforståelse (AddWhereClause)?
For længe siden har jeg copy/paste flg kode. If Not Forms!F_D_Dok_Search_Rapp!Status.Value = 1 Then strSQL = fkt_AddWhereClause(useWhere, strSQL) useWhere = True strSQL = strSQL & "QA_App= True" End If _________________________________________________________________ Private Function fkt_AddWhereClause(useWhere As Boolean, strSQL As String) As String If useWhere = False Then strSQL = strSQL & "WHERE " Else strSQL = strSQL & " AND " End If 'return string fkt_AddWhereClause = strSQL End Function
Men jeg forstår den ikke, og kan ikke finde megen hjælp i F1. Derfor,- er dere nogen der kan forklare: - hvad opnåes ved fkt_AddWhereClause(useWhere, strSQL)? - hvorfor sættes useWhere = True ? - hvorfor sættes fkt_AddWhereClause = strSQL inden retur til kaldende ?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Hej sjap. Mit spgs er lidt tåget formuleret. Men jeg er med på tilføjelsen af AND og WHERE. Men hvad defineres/kaldes i ...(useWhere, strSQL). Hvad kan jeg ellers bruge denne funktion til, hvor kan jeg finde beskrivelse af denne syntaks?
Private Function fkt_AddWhereClause(useWhere As Boolean, strSQL As String) As String If useWhere Then fkt_AddWhereClause = strSQL & " AND " Else fkt_AddWhereClause = strSQL & "WHERE " End If End Function
Resultatet af funktionen er en streng. Det er derfor der f.eks. står
fkt_AddWhereClause = strSQL & " AND "
Resultatet af funktionen er den gamle streng (dvs. strSQL) med " AND " i enden.
Du kan bruge funktionen i forbindelse med etablering af WHERE delen af en SQL-sætning.
Et eksempel:
Følgende kode strSQL = "SELECT Efternavn, Fornavn FROM Medarbejdere " strSQL = fkt_AddWhereClause(useWhere, strSQL) & "Fornavn ='Jens'" useWhere= True strSQL = fkt_AddWhereClause(useWhere, strSQL) & "AND ='Jensen'"
vil give følgende SQL-sætning "SELECT Efternavn, Fornavn FROM Medarbejdere WHERE Fornavn ='Jens' AND Efternavn ='Jensen'"
Der kan sikkert være situationer, hvor det er smart at gøre det ved hjælp af denne funktion, men ofte er det lettest at skrive WHERE eller AND i stedet for fkt_AddWhereClause(useWhere, strSQL)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.