18. februar 2003 - 09:39Der er
14 kommentarer og 1 løsning
Openrecordset problem
Kode: Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim lead As String Dim q As String q = "SELECT tblStLeadIn.LeadIn FROM tblStCabRo INNER JOIN (tblStLeadIn INNER JOIN tblLeadIns ON tblStLeadIn.StLeadId = tblLeadIns.LeadIn) ON tblStCabRo.StCabRo = tblLeadIns.CablerouteID WHERE (((tblStCabRo.StCabRo)=[Forms]![frmCableRoute]![StCabRo]));" Set dbs = CurrentDb Set rst = dbs.OpenRecordset(q) lead = rst!LeadIn Do While Not rst.EOF Me.StCabRoute = Me.StCabRoute & ", " & lead rst.MoveNext Loop rst.Close dbs.Close Set rst = Nothing Set dbs = Nothing
Skal bare indlæse nogle poster i en tabel. Stopper under kørsel i ->Set rst = dbs.OpenRecordset(q)<- To few parameters, expected 1. Virker under Access 97, hvad er der galt ? DAO 3.6 object Library er available
Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim lead As String
Set dbs = CurrentDb Set rst = dbs.OpenRecordset("qryLeadIns", dbOpenDynaset) lead = rst!LeadIn Do While Not rst.EOF Me.StCabRoute = Me.StCabRoute & ", " & lead rst.MoveNext Loop rst.Close dbs.Close Set rst = Nothing Set dbs = Nothing
Prøv lige at kopiere SQL strengen over i en forespørgsel. Der er med (næsten) garanti en fejl i den. Jeg er ikke skrap nok til de der INNER JOINs i SQL til at kunne gennemskue hvor der går galt.
Husk at du lige skal skrive noget i stedet for [Forms]![frmCableRoute]![StCabRo] eller også skal du have den formular åben.
Somaliomar: Prøvede din udgave. Brokker sig stadig, "Invalid SQL statement, expected "Insert, Delete etc..." Men Queryen kører fint. Skal såmænd bare hente poster i en 1 til mange join og putte dem ind i et felt bag efter hinanden, for den post der er markeret på formularen. f. eks aa, bb, cc, etc.
Superjap: Samme svar queryen kører fint. Se ovenstående.
Jeg har netop været ude for noget lignende. Jeg fandt frem til, at det kun er en del af SQL-sætningerne, der kan bruges i forbindelse med ADO/DAO. Jeg er af den overbevisning, at der ikke kan bruges JOIN's i denne sammenhæng. Jeg delte opgaven op, således at jeg lavede en opdateringsforespørgsel, der først opdaterede et felt på det ene kartotek, så jeg kunne undvære det andet, og dermed ikke havde brug for JOIN'S. Jeg lytter med....
Hvordan sætter jeg den ind i slutningen. Dim St as Integer Q = "SELECT tblStLeadIn.LeadInText FROM tblStLeadIn INNER JOIN (tblStCabRo INNER JOIN tblLeadIns ON tblStCabRo.StCabRo = tblLeadIns.CablerouteID) ON tblStLeadIn.StLeadId = tblLeadIns.LeadIn WHERE tblStCabRo.StCabRo = & ST &"
Nåh ja jeg blev måske lidt ivrig, men tak for points. :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.