Just nu i M3-nätverket
Gå till innehåll

Tips på lösning - tabeller


a-son

Rekommendera Poster

Hej, har ett litet problem som jag inte vet hur man kan lösa på ett bra sätt.

 

I bifogad exempel så är det 2 tabeller

första så skriver man in vad som sålts i tabell 1

 

det som jag inte vet hur man ska lösa på smidigt sätt är det i tabell 2,

den är till för att hålla reda på vad som är gjort på varje order

det är så att på varje order så ska följande göras:

en produkt komma in

invänta betalning

skicka order

 

skulle man kunna få till det i samma tabell?

eller knyta ihop dom på någotvis?

kanske en till kollumn med ordernr,

sedan ett macro som generar en unik rad i tabell 2 för varje ordernr, där man sedan fylla i  inkommet, betalt, skickat?

ja jag vet inte, för lite erfarenhet av excel änsålänge.

 

Har olika tabeller för kund, produkt där man hämtar upp med dataverifiering/lista och på det viset får man fram rätt pris

 

i slut ändan vill man lätt kunna sortera ut på inkommet, betalt, skickat

kanske en summering av total summa på order skulle vara bra med.

exempel.zip

Länk till kommentar
Dela på andra webbplatser

Jag är inte riktigt med på vad du vill men kan komma med några allmänna råd som start.

 

Det är bra att behandla Excel som en databas, en relationsdatabas.

Så länge det finns nycklar som kopplar ihop värden i olika tabeller kan man koppla ihop dem, hämta data ur dem, via formler eller andra typer av rapporter.

 

man kan göra det väldigt komplext om man vill men oftast, om man bara tänker efter lite först, kan man hålla ned komplexiteten.

 

I det här fallet tycks det råda en en till flera relation.  En kund, flera order (förhoppningsvis) och varje order flera varor.

Men varje order har en kund och flera varor.

 

Några tankar då.

Du bör upprätta en kundtabell, med data om kunden. Adress, kontaktperson osv.

Du bör ha en tabell med order i, med kund, summa*, antal artiklar*, datum inkommet, skickat och betalt. Kanske även en kolumn som indikerar klar att skickas*.

Och en varutabell där du lägger upp dina order, räcker med orderID, vara, pris, antal och kanske även en kolumn som indikerar om inkommen/i lager, dvs klar att skicka.

Du kan givetvis även ha en kolumn med kund*

 

Med stjärna (*) ovan indikerar jag kolumner som ska beräknas, data hämtas från annan tabell.

Dvs i Order-tabellen anger du kund och OrderID. Då hämtas summan och antalet artiklar på denna order från varutabellen.

 

Förstår du mina tankar? Formler som behövs i det ovan är SUMMA.OM, PASSA/INDEX och ANTAL.OM.

Länk till kommentar
Dela på andra webbplatser

Tackar, i den som jag gjort tidigare och ej postat här, har jag förljande tabeller:

  • Kundregister
  • produktregister
  • löpande tabell med beställningar

 

Den ska göras om som sagt var, får labba lite med dina ideer.

Är helt med på ideen, ska bara försöka förverkliga den...

ska inte vara för krångligt bara, det är syrran som använder det för hon hade då ingen koll på sin lilla verksamhet,

och det händer att hon stökar till den som jag gjort tidigare..

Länk till kommentar
Dela på andra webbplatser

Med Excel 2007s tabellhantering går det ganska enkelt att bygga upp och skydda/markera det som inte ska ändras av användaren.

viktigaste är ju att den som ska använda det hela förstår var och vad som ska matas in.

 

Var sak på sin plats. Om hon kan hantera tabeller, håll det vid att mata in i dessa.

Om det inte går, skapa formulär där man kan kontrollera att saker och ting fylls i/hamnar på rätt plats.

 

Som sagt, behandla Excel som en databas. Med tabeller och rapporter.

Lycka till och fråga om det är något.

Länk till kommentar
Dela på andra webbplatser

  • 2 months later...

Jag är inte riktigt med på vad du vill men kan komma med några allmänna råd som start.

 

Det är bra att behandla Excel som en databas, en relationsdatabas.

Så länge det finns nycklar som kopplar ihop värden i olika tabeller kan man koppla ihop dem, hämta data ur dem, via formler eller andra typer av rapporter.

 

man kan göra det väldigt komplext om man vill men oftast, om man bara tänker efter lite först, kan man hålla ned komplexiteten.

 

I det här fallet tycks det råda en en till flera relation.  En kund, flera order (förhoppningsvis) och varje order flera varor.

Men varje order har en kund och flera varor.

 

Några tankar då.

Du bör upprätta en kundtabell, med data om kunden. Adress, kontaktperson osv.

Du bör ha en tabell med order i, med kund, summa*, antal artiklar*, datum inkommet, skickat och betalt. Kanske även en kolumn som indikerar klar att skickas*.

Och en varutabell där du lägger upp dina order, räcker med orderID, vara, pris, antal och kanske även en kolumn som indikerar om inkommen/i lager, dvs klar att skicka.

Du kan givetvis även ha en kolumn med kund*

 

Med stjärna (*) ovan indikerar jag kolumner som ska beräknas, data hämtas från annan tabell.

Dvs i Order-tabellen anger du kund och OrderID. Då hämtas summan och antalet artiklar på denna order från varutabellen.

 

Förstår du mina tankar? Formler som behövs i det ovan är SUMMA.OM, PASSA/INDEX och ANTAL.OM.

 

Hej, har inte tittat på det här förens nu, finns så mycket annat skoj att roa sej med.

Hon har lite framgångar med sin försäljning så nu börjar det frågas efter statistik etc

så får ta tag i det här nu.

 

 

Har gjort tabeller som du nämnde, det du menar med varutabell är väl det som varje order innehåller?

 

sedan behövs det väl en tabell till, med varuregister, så man plockar fram rätt vara till varje order.

 

Så här ser det ut nu:

 

kundregister

Förnamn Efternamn Adress Postnr Postadress Mobilnr Telefonnr E-post

 

ordernr

Kund Summa Antal Inkom Skickat Betalt

Klart att skickas

 

 

orderinnehåll

OrderID Kund Vara Pris Antal

 

varuregister 

Kategori Produkt Inköpspris Påslag Kundpris
Länk till kommentar
Dela på andra webbplatser

Finns det någon fråga i det ovan jag missar?

 

Notera att det gäller, precis som i alla mjukvaruprojekt, att tänka efter innan så man inte sitter i rävsaxen med något onödigt komplext.

Länk till kommentar
Dela på andra webbplatser

 

Hej, har inte tittat på det här förens nu, finns så mycket annat skoj att roa sej med.

Hon har lite framgångar med sin försäljning så nu börjar det frågas efter statistik etc

så får ta tag i det här nu.

 

 

Har gjort tabeller som du nämnde, det du menar med varutabell är väl det som varje order innehåller?

 

sedan behövs det väl en tabell till, med varuregister, så man plockar fram rätt vara till varje order.

 

Så här ser det ut nu:

 

kundregister

Förnamn Efternamn Adress Postnr Postadress Mobilnr Telefonnr E-post

 

ordernr

Kund Summa Antal Inkom Skickat Betalt

Klart att skickas

 

 

orderinnehåll

OrderID Kund Vara Pris Antal

 

varuregister 

Kategori Produkt Inköpspris Påslag Kundpris

 

 

 

Finns det någon fråga i det ovan jag missar?

 

Notera att det gäller, precis som i alla mjukvaruprojekt, att tänka efter innan så man inte sitter i rävsaxen med något onödigt komplext.

 

Markerade med fetstil det jag undrade över.

Länk till kommentar
Dela på andra webbplatser

Okej.

ta mina förslag som förslag just, tänk efter om det är vad du behöver. Hur mycket data man ska lägga in beror på vad man vill få ut av det.

 

Men ja, en varutabell med alla varor som kan säljas och pris på dessa. Inköpspris kan med fördel noteras även.

 

om man skapar en tabell där man lägger in alla order i stil med

Kundnummer 1

(Kund A)

Order ID 1

Vara 23

Antal 2

 

en rak tabell där kund och ID kan förekomma flera gånger, där ett ID indikerar en affär.

Då kan man sedan sammanställa dessa data med pivot eller formler.

Kanske att man skapar en lista där man matar in order ID, formler hämtar totalsumma och antal artiklar, kund, faktura/levarandadress, du lägger in order-, faktura- och förfallodatum. Exempelvis.

 

 

Tänk efter vilka data du vill ha, var du vill ha dem. titta på dem sedan ur två perspektiv

Hur lagras dessa på bästa sätt (troligen som jag indikerar ovan som i en relationsdatabas)

Hur ska användaren mata in/analysera dessa data.

Länk till kommentar
Dela på andra webbplatser

Har gjort en tabell med vad order innehåller och en tabell för summering av order

 

Har fått till index passa för att plocka fram namn på den som beställt med hjälp av orderID

 

funderar på vad som behövs för att summera antal artiklar och total summan?

Länk till kommentar
Dela på andra webbplatser

Finns flera vägar att gå.

Via pivot kan det gå relativt automatiskt. Ställ in vilken post det ska summeras över och vad som ska summeras, sedan bara att uppdatera. För en sammanställning dvs.

 

Eller så använder man SUMMA.OM/SUMMA.OMF

 

Du kommer nog snart att finna att Excel må vara bra men att det du skapar säkert skulle passa bättre i en databas egentligen :-)

 

Det stora problemet sedan, bara sådär, torde vara att

1: Skapa en mall som din användare kan använda för att mata in data

2: Skapa en rapport/fakturan. Man borde kunna nyttja Word eller göra motsvarande i Excel.

 

Lycka till.

Länk till kommentar
Dela på andra webbplatser

Ja säkert bättre med databas,

men kul att lära sej lite nytt,

fått till en del så det går åt rätt håll..

nästa steg är att jag inte vill ha formel för att hämta värden från varutabellen till order tabellen

för om det blir pris ändringar så påverkar det ordrar som redan är levererad, vilket blir fel i statistiken.

får väl ta ett macro för det, som hämtar pris efter man lagt till alla varor

Länk till kommentar
Dela på andra webbplatser

ja, då får man spara undan data/arkivera dem på något vis. Lite VBA-kod är nog på sin plats annars krävs det manuell kopiering av värden.

 

kan ju vara en sida speciell för att skapa/lägga upp (och kanske redigera) orders. När den sparas sparas aktuella värdena i en tabell via VBA.

 

Om även redigera då krävs även kod för att hämta redan existerande värden från den sparade tabellen.

 

Som du märker, det växer i komplexitet.

 

Formler, det du frågar efter är, som vanligt, PASSA+INDEX eller LETARAD med säkerhet.

Länk till kommentar
Dela på andra webbplatser

roligt att lära sej,

får ta access vid annat tillfälle, får nog till det som jag vill med det här.

 

aktuella priser kopierar jag bara från varutabellen till ordertabellen, då påverkas dom inte av pris ändringar som kommer ske i varutabellen

Länk till kommentar
Dela på andra webbplatser

behöver lite hjälp med det här:

 

På fliken order så vill jag ha följande funktion:

  • Först skriver man in orderID och vara i tabellen
  • sedan fyller man i orderID i rutan till höger
  • och där efter trycker man på knappen
  • Då vill jag att priser för varor i det orderID hämtas från varutabellen på flik Varor

borde gå att lösa antar jag

ny_bokföring_3.zip

Länk till kommentar
Dela på andra webbplatser

En bit på väg iallafall,

Hittar första varan i orderid som efterfrågas,

sedan måste man söka i andra tabellen efter strVara..

Sub Find()
    Dim rng1 As Range
    Dim strOrderID As String
    Dim strVara As String
    strOrderID = [SökOrderID]
    Set rng1 = Range("B:B").Find(strOrderID, , xlValues, xlWhole)
    If Not rng1 Is Nothing Then
        strVara = rng1.Offset(0, 2)
        MsgBox "Hittade: " & strVara
        
    Else
        MsgBox strSearch & " not found"
    End If
End Sub

ny_bokföring_4.zip

Länk till kommentar
Dela på andra webbplatser

Ja klart det ska användas tabellformat för hänvisngar, provade lite som hastighast med en kod jag hittade.

 

har tittat lite på den tråden, men tycker det är svårt att inplantera i mitt projekt,

är för grön än så länge..

 

Har även försökt låsa kolumner på bladen för att inte man ska förstöra formlerna,

men på det sättet jag gjorde så kan man inte infoga rader.

gjorde så här, men låste kolumner

http://office.microsoft.com/en-us/excel-help/lock-or-unlock-specific-areas-of-a-protected-worksheet-HA102749549.aspx

 

 

Så lite hjölp på vägen behövs med dess problem

Länk till kommentar
Dela på andra webbplatser

Den koden tycker jag allt jag förklarar ganska bra... men

 

Det där med att låsa tabeller/kolumner i dessa. För att du ska kunna infoga en rad i ett blad måste alla kolumner vara upplåsta.

 

Det finns några alternativ

1: Utöka din tabell så att den rymmer alla framtida rader med data

2: Lägg in en kommandoknapp och några rader kod som infogar en rad i tabellen. (säg till så ger jag ett exempel)

3: ta bort användarens rätt helt att ändra i tabellen, skapa formulär.

(då blir det lite mer kod)

Länk till kommentar
Dela på andra webbplatser

alternativ 3 är nog perfekt,

men tror att jag testar alt. 2 till att börja med, tar gärna emot tips på kod för det.

 

ang. koden som letar och skriver in, hur skulle det kunna användas för att leta efter produkter som är på ett orderid och kopiera in.

måste väl göras en loop antar jag och hålla reda på vart man är.

Länk till kommentar
Dela på andra webbplatser

Om det är ett unikt ID finns det flera sätt.

Om du tar en titt på koden i den andra tråden så söker den nu i kolumnen ID på tabellen på bladet. Bara det är ett unikt ID, inget problem.

Koden fungerar precis lika bra om du gör ett formulär via ett UserForm eller på ett arbetsblad men, om jag ska vara ärlig, väljer jag oftast en lite annan väg om formuläret byggs upp på ett arbetsblad. Kör då enligt regeln: så lite intelligens som bara möjligt i koden, det mesta på bladet.

 

Men enligt modell två:

Sub AddRow()
    Me.Unprotect
    Me.ListObjects("Tabell1").ListRows.Add
    Me.Protect
End Sub

in enklaste form. Lägger till en rad sist i tabellen. Du kan lägga till att ta bort/lägga till skydd på enskilda celler om det behövs. Likaså sätta lösenord om du vill det.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...