DateTime 形式の日付の行を含むデータベース テーブルがあります。私がする必要があるのは、利用可能な日付のすべての異なる週番号を取得することです。たとえば、次の日付がある場合:
03-JAN-13 
04-JAN-13
09-JAN-13
SQLクエリは、次の週番号を提供します:1と2. PS:その後、これらの値をドロップダウンリストに入れます(そのステップで問題ありません)。
それで、誰かがそれを行う方法を教えてもらえますか?
使用している RDBMS を指定しませんでしたが、次を使用して週番号を取得できます。
使用する SQL Server DatePart():
select distinct datepart(week, dates) WeekNo
from yourtable
デモで SQL Fiddle を参照してください
MySQL では、以下を使用できますWeek()。
select distinct week(dates)
from yourtable
デモで SQL Fiddle を参照してください
Oracle では、以下を使用できますto_char()。
select distinct to_char(dates, 'W') WeekNo
from yourtable
デモで SQL Fiddle を参照してください
PostgreSQL では、以下を使用できます。
select distinct extract(WEEK from dates) WeekNO
from yourtable
デモで SQL Fiddle を参照してください
yourtableをテーブル名とdates日付列に置き換えます。
編集#1:MS Accessを使用している場合は、引き続き使用できますDatePart()(これはMS Access 2003でテストされました):
SELECT distinct datepart("ww", dates) as WeekNo
FROM yourtable;
    オンロード イベント、または必要な場所に、この VBA コードを配置します。
      Me!myCombo.RowSource = "yourquerytexthere;"
(または、どのクエリを使用しても..おそらく、Remou が回答した最後の質問から使用しているクエリ)。
この質問では、何を照会したいのかをすでに知っていると思います。コントロールの設定について尋ねているだけです。
そのコードはただ
    Me!myCombo.RowSource = "yourquerystring"
お気に入り
    Me!myCombo.RowSource = "SELECT distinct datepart("ww", dates) FROM yourtable;"
Me!myCombo はコンボボックスの名前です。
年間 ISO 週番号テーブル - Oracle SQL クエリ:
-- ISO_WK# --
 SELECT mydate
      , TRUNC(mydate, 'w') wk_starts
      , TRUNC(mydate, 'w') + 7 - 1/86400 wk_ends
      , TO_NUMBER (TO_CHAR (mydate, 'IW')) ISO_WK#  
  FROM
   (
    SELECT TRUNC(SYSDATE, 'YEAR')-1 + LEVEL AS mydate  
      FROM dual
    CONNECT BY LEVEL <= 
    (-- First day of curr year - first day of past year --
      SELECT TRUNC(SYSDATE, 'YEAR')-TRUNC(ADD_MONTHS (SYSDATE, -12), 'YEAR') "Num of Days"   
        FROM dual
    )
  )
/