konto usunięte

Temat: Znajdź najbliższą wartość w kolumnie w tej samej tabeli (?)

Witam,

Może ktoś z was pomoże mi rozwiązać pewien problem. Mam jedną tabele w której kolumny b i c się nie pokrywają w związku z tym na podstawie danej z tabeli b chciałbym aby access znalazł najblizsza wartosc w klumnie c i ja wpisal w puste pole.

Obrazek
Ten post został edytowany przez Autora dnia 10.05.13 o godzinie 13:11
Marzanna Szulta

Marzanna Szulta właściciel, Usługi
Informatyczne
SZULTASET

Temat: Znajdź najbliższą wartość w kolumnie w tej samej tabeli (?)

Beniamin S.:
jedną tabele w której kolumny b i c się nie pokrywają w związku z tym na podstawie danej z tabeli b chciałbym aby access znalazł najblizsza wartosc w klumnie c i ja wpisal w puste pole.

Tabela Accessa faktycznie ma kolumny. Dane w jednej kolumnie z reguły są zdecydowanie różne od danych w drugiej kolumnie (choć nie jest to regułą i wcale nie musi tak być).
Załóżmy jednak, że mamy w kolumnie B jakąś wartość. Czego szukamy w kolumnie C? Co to oznacza "najbliższa wartość"? A to puste pole to gdzie jest?

konto usunięte

Temat: Znajdź najbliższą wartość w kolumnie w tej samej tabeli (?)

Niestety nie umiem tytaj dodac załącznika wiec jeżeli moge wyśle screena na emaila o co dokładnie chodzi
Nikodem Dobrzański

Nikodem Dobrzański Architekt systemu,
BizTech Konsulting
S.A.

Temat: Znajdź najbliższą wartość w kolumnie w tej samej tabeli (?)

Beniamin.
Czy trudno jest podać polecenie tworzące te tabele? Dzięki temu my, reszta osób przeglądających wątek, jesteśmy w stanie określić, z czym mamy do czynienia, co ułatwia odpowiedź.
Nic nie wiemy na temat typu kolumny. Nie wiemy zatem, czy poszukiwać będziemy po liczbach, datach, czy stringach. Ba, nie wiemy, czy zakres poszukiwań ma być od dołu do wartości, czy też od wartości do góry.
Z zakresu zbioru możemy wyszukiwać przez funkcję min lub max. Nie ma funkcji, która oddawałaby Ci najbliższy wynik. To możesz osiągnąć zapewne przed zastosowanie podzapytań.

konto usunięte

Temat: Znajdź najbliższą wartość w kolumnie w tej samej tabeli (?)

Dzięki za odpowiedź postaram sie podac wiecej detaki, operacja odbywa się na stringach udało mi się cos takiego wykombinować w vba - ale proces jest bardzo długi po niemal 12 h przeliczyl 10% całości (z 300 000 rekordów zrobil 36 000). nie wiem czy vba jest ok - wydaje mi się jak by to mozna byłoby wrzucic w funkcje sql było by szybsze niestety nie umiem tego zrobić:

Format danych w sprawdzanych kolumnach wyglada i musi zostac taki "a_aaaaaaaaaaaa_pppp"

Sub test()

Dim objDB As DAO.Database
Dim mytbl As DAO.Recordset
Dim Calls As Field
Dim Sales As Field
Dim SwInfSP_MaA_Ct As Field
Dim SwH1_ct As Field
Dim test As String
Set objDB = CurrentDb
Set mytbl = objDB.TableDefs("tbl").OpenRecordset(dbOpenTable)

mytbl.MoveFirst

Do While Not mytbl.EOF
If mytbl.Fields(1).Value <> 0 Then
'Debug.Print mytbl.Fields(1)

h = DMin("Sales", "tbl", ("Sales >='" & mytbl.Fields(1).Value & "'"))
j = Split(h, "_")(0)
k = Split(h, "_")(1)
q = j & "_" & k
If mytbl.Fields(0).Value = q Then
mytbl.Edit
mytbl.Fields(5).Value = h
mytbl.Update
Else
If mytbl.Fields(0).Value = q Then
h = DMin("Sales", "tbl", ("Sales <='" & mytbl.Fields(1).Value & "'"))
mytbl.Edit
mytbl.Fields(5).Value = h
mytbl.Update
Else
End If
End If
End If
mytbl.MoveNext

Loop

End Sub

Następna dyskusja:

Brak danych w tabeli i alte...




Wyślij zaproszenie do