

Syntaktická chyba v příkazu INSERT (MS Access)
Prosím, můžete mi říci, kde mám v příkazu Insert Into syntaktickou chybu?
Když chci uložit data, vyhodí mi to Run Time Eror '40002'Ovladač pro Microsoft Access.
Private Sub Command1_Click()
Dim strSQL As String
strSQL = "INSERT INTO SezPrac ORDER BY prijmeni"
strSQL = strSQL & "(jmeno,prijmeni,titul,plat,poznamka)VALUES("
strSQL = strSQL & "'" & txtJmeno.Text & "', '"
strSQL = strSQL & txtPrijmeni.Text & "', '"
strSQL = strSQL & txtTitul.Text & "', '"
strSQL = strSQL & txtPlat.Text & "', '"
strSQL = strSQL & txtPoznamka.Text & "');"
cn.Execute strSQL, rdExecDirect
Unload Me
Změna předmětu, původně: Prosím o pomoc (host)
Jaký má smysl klausule ORDER BY v příkazu INSERT?
seřazení dat podle příjmení
Vím, k čemu slouží ORDER BY.
Ale vidím poprvý, že někdo řadí data při vkládání do DB. Dodnes jsem si myslel, že to nejde.
http://msdn.microsoft.com/en-us/library/bb208861.as px
to mě netrklo, šel jsem podle knihy.
A v knize mají u INSERTu napsáno ORDER BY, jo?
Co to je za knihu?
Učebnice pro střední školy Visual Basic 6.0 autor David Morkes vydavatel Computer Press.
Můžeš mi ještě pomoct při zobrazování dat?
Private Sub Form_Load()
Dim strSQL As String
Dim rso As rdoResultset
Dim PocetRad As Integer
flxResult.TextMatrix(0, 0) = "Titul"
flxResult.TextMatrix(0, 1) = "Jméno"
flxResult.TextMatrix(0, 2) = "Příjmení"
flxResult.TextMatrix(0, 3) = "Plat (Kč)"
flxResult.TextMatrix(0, 4) = "Poznámka"
flxResult.ColWidth(0) = 1000
flxResult.ColWidth(1) = 1500
flxResult.ColWidth(2) = 1500
flxResult.ColWidth(3) = 1000
flxResult.ColWidth(4) = 3300
strSQL = "SELECT * FROM SezPrac Order By prijmeni"
Set rso = cn.OpenResultset(strSQL, rdOpenStatic)
flxResult.Redraw = False
PocetRad = 0
Do While Not rso.EOF
flxResult.AddItem ""
flxResult.TextMatrix(flxResult.Rows - 1, 0) = rso!Titul
flxResult.TextMatrix(flxResult.Rows - 1, 1) = rso!Jméno
flxResult.TextMatrix(flxResult.Rows - 1, 2) = rso!Příjmení
flxResult.TextMatrix(flxResult.Rows - 1, 3) = rso!Plat
flxResult.TextMatrix(flxResult.Rows - 1, 4) = rso!Poznámka
rso.MoveNext
PocetRad = PocetRad + 1
Loop
If PocetRad > 0 Then flxResult.RemoveItem 1
flxResult.Redraw = True
flxResult.Refresh
Set rso = Nothing
End Sub
Hlášení: Object Collection: Couldn't find item indicated by text.
Díky
Nejsem "vižualbejzikář", ale máš ten kód opsaný jinak než je v knížce:
jmeno, prijmeni, poznamka malými písmeny a hlavně bez diakritiky.
Težko se mu bude programovat, když kódu nerozumí a vnáší do něj vlastní invenci...
rso je dataset a titul je jméno sloupce
Děkuji za vysvětlení, jsem samouk a evidentně nechápu zcela význam klíčových slov. Moc jste mi pomohli.