Konrad Kałuski

Konrad Kałuski załoga, Princess
Yachts Cyprus

Temat: Automatyczne tworzenie próbki z tabeli

Witam, mam tabelę zapełnianą codziennie nowymi danymi. Co czwarty rekord w tej tabeli powinien zostać następnie sprawdzony pod kątem poprawności. Jak mogę zautomatyzować wyrzucanie takiej próbki, żeby uniknąć liczenia i ręcznego wybierania rekordów? Idealnie byłoby, gdyby wyskakiwała ona po zapuszczeniu makra, ale nie mam pojęcia jak taki kod mógłby wyglądać. Proszę o pomoc.

konto usunięte

Temat: Automatyczne tworzenie próbki z tabeli

robisz kwerendę gdzie sortowanie jest po zmiennej rand
a póżniej na podstawie tej kwerendy robisz kolejną

SELECT TOP 25 PERCENT Tabela1.Identyfikator, Tabela1.Pole1, Tabela1.Pole2, Tabela1.Pole3, Tabela1.Pole4, Tabela1.Pole5
FROM Tabela1;

czyli średnio co czwarty będzie pobrany - tak jest moim zdaniem najprościej
Konrad Kałuski

Konrad Kałuski załoga, Princess
Yachts Cyprus

Temat: Automatyczne tworzenie próbki z tabeli

Super, dziękuję bardzo za pomoc! Rozwiązanie rzeczywiście łatwe i skuteczne.

konto usunięte

Temat: Automatyczne tworzenie próbki z tabeli

Witam. Mam podobny problem, ale zależy mi na stworzeniu takiej próbki, która będzie wyrzucała rekordy losowo bądź w określonej kolejności, na przykład co czwarty. Podana wcześniej metoda oddaje mi 25 rekordów ze 100, ale zawsze 25 pierwszych. Czy można jakoś zmodyfikować ten kod, żeby uzyskać próbkę losową lub co czwarty rekord?
Tomasz J.

Tomasz J. finanse,
rachunkowość,
podatki,
raportowanie

Temat: Automatyczne tworzenie próbki z tabeli

Anna Bandurowska:
Witam. Mam podobny problem, ale zależy mi na stworzeniu takiej próbki, która będzie wyrzucała rekordy losowo bądź w określonej kolejności, na przykład co czwarty. Podana wcześniej metoda oddaje mi 25 rekordów ze 100, ale zawsze 25 pierwszych. Czy można jakoś zmodyfikować ten kod, żeby uzyskać próbkę losową lub co czwarty rekord?

top 25 generalnie tak zadziała.
innym rozwiazaniem to zrobienie jakiegos autonumeru (czy numeru porzadkowego) - niekoniecznie w tabeli, moze byc w kwerendzie i z poziomy vba dołożenie do do tego for i = 1 to X(liczba rekordow) step 4 zwróci co 4.
wybór co 4 daleki od losowosci jednak. losowo moze tak: mozna sprbowac policzyc wiersze, z tego przedzialu (od 1 do liczba wierszy) wybierac losowo (znowu pętla tego wyboru od 1 do x(gdzie x to liczba losowan), zwrocony wybor to numer wiersza.

google na to np:
http://joseblanco.blogspot.com/2004/10/select-random-r...

i ver 2 (better podobno):
http://joseblanco.blogspot.com/2004/10/v20-select-rand...

i jeszcze sam poczciwy help w accessie (tu 2007):

Function FindRandom (RecordSetName As String, Fieldname As String)

Dim MyDB As Database
Dim MyRS As Recordset
Dim SpecificRecord As Long, i As Long, NumOfRecords As Long

Set MyDB = CurrentDB()
Set MyRS = MyDB.OpenRecordset(RecordSetName, dbOpenDynaset)
On Error GoTo NoRecords
MyRS.MoveLast
NumOfRecords = MyRS.RecordCount
SpecificRecord = Int(NumOfRecords * Rnd)
If SpecificRecord = NumOfRecords Then
SpecificRecord = SpecificRecord - 1
End If
MyRS.MoveFirst
For i = 1 To SpecificRecord
MyRS.MoveNext
Next i
FindRandom = MyRS(Fieldname)
Exit Function

NoRecords:
If Err = 3021 Then
MsgBox "There Are No Records In The Dynaset", 16, "Error"
Else
MsgBox "Error - " & Err & Chr$(13) & Chr$(10) & Error, _
16, "Error"
End If
FindRandom = "No Records"
Exit Function

End Function

konto usunięte

Temat: Automatyczne tworzenie próbki z tabeli

SELECT TOP 25 PERCENT t.*
FROM Tabela1 as t
ORDER BY Rnd(t.[Identyfikator])*1;


gdzie
Identyfikator - nazwa jakiegoś unikalnego identyfikatora będącego cyfrą
Tabela1 - tabela którą w której losujeszPrzemysław R. edytował(a) ten post dnia 25.01.10 o godzinie 22:11
Tomasz J.

Tomasz J. finanse,
rachunkowość,
podatki,
raportowanie

Temat: Automatyczne tworzenie próbki z tabeli

Przemysław R.:
SELECT TOP 25 PERCENT t.*
FROM Tabela1 as t
ORDER BY Rnd(t.[Identyfikator])*1;


gdzie
Identyfikator - nazwa jakiegoś unikalnego identyfikatora będącego cyfrą
Tabela1 - tabela którą w której losujeszPrzemysław R. edytował(a) ten post dnia 25.01.10 o godzinie 22:11

Kolejne rozwiązanie przynoszące skutek, ale jakże sprytne:)
Przemek, jesteś moim guru!

konto usunięte

Temat: Automatyczne tworzenie próbki z tabeli

Dziękuję bardzo:) Select... działa doskonale. Dołączam się do opinii Tomasza:)

Następna dyskusja:

Tworzenie tabeli




Wyślij zaproszenie do