Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
Ispy
nagyúr
válasz
Petya25
#5813
üzenetére
Nos, ez azért van, mert az sql adatbázis kezelő, nem táblázatkezelő. Szóval ezt úgy kell csinálni, hogy összerakod az excelt, ami kiadja a pivotot, diagramot, akármit, a táblázatkezelő meg csak egy 2 dimenziós táblát a nyers adatokkal. Vagy leprogramozod sql oldalon egy tárolt eljárásban. Mindenesetre nem arra használod, amire kitalálták.
Nálunk ez úgy megy, hogy kifzeti a kedves ügyfél a 3-5-10 nap programozást a pivotért, vagy összekattintgatja magának 1 óra alatt, lehet választani, a kényelemnek ára van.
-
Ispy
nagyúr
A feladatok a recordset és abból a feladat nevét vizsgálja, a ! azt jelenti, hogy a recordset eleme következik.
-
Ispy
nagyúr
válasz
rednifegnar
#5785
üzenetére
Mit akarsz futtatni? Különálló batcheket egyben, vagy.egy batchen belül akarsz hibát kezelni?
-
Ispy
nagyúr
válasz
rednifegnar
#5783
üzenetére
try catch? azon belül ha kell berakod tranzakcióba, ha meg catchre fut, rollback
-
Ispy
nagyúr
Win, területi beállítások, tizedes és helyiérték beállíások. Az ezeresnél van egy pont, a tizedespont meg egy vesző. Gondolom az sql szerver más beállítássokkal megy, nem ámerikái.
Nekem 123.47-et ad vissza, ha kiveszem a pontot, akkor meg kerekít. Szövegként nem is tudom konvertálni, mert nem ismeri fel, mint szám.
Vagy replace-szel kiveszed a pontot, a vesszőből meg pontot csinálsz a convert előtt.
-
-
Ispy
nagyúr
válasz
Fundiego
#5647
üzenetére
Akkor a két select egy-egy subquery, amiket joinnal kell összekötni. De ebből 3 kell:
- lekérdezés 1 inner join lekérdezés 2, mindent visszaad, ami mindkét lekérdezésben benne van
- lekérdezés 1 left join lekérdezés 2, ahol lekérdezés 2 aznosítója null, minden, ami csak lekérdezés 1-ben szerepel
- lekérdezés 2 left join lekérdezés 1, ahol lekérdezés 1 azonosítója null, minden, ami csak lekérdezés 2-ben szerepelEzt a 3 lekérdezést kell union allal összerakni egy selectben, de csak akkor lesz jó, ha van minden sornak egyedi azonosítója, pl. a név mező, ha az garantáltan egyedi, vagy egy egyedi id a névhez.
-
Ispy
nagyúr
válasz
Panhard
#5542
üzenetére
Nem teljesen világos, hogy miért adod neki oda a dátumot, ha nem módosítható eleve? Akkor nem is kell neki odaadni....szvsz. És akkor nem kell fölösleges köröket futni.
Egyébként ha már ehhez ragaszkodsz, akkor rakd be egy jwt-be a két dátumot meg a user kódját, és azt rakd be a query stringbe, backenden meg nyomsz egy verifyt és ha nem stimmel eldobod a kérést.
-
Ispy
nagyúr
SQL adatbázis schema verziókövetésre ki mit használ? Mi most a .net database projectjét TFS-el, de szeretnénk átrakni gitre a cuccot. Azure data studioval van esetleg valakinek tapasztalata, hogy mennyire megy jó benne mondjuk egy schema compare?
-
Ispy
nagyúr
De lehet szimplán data bindingel hozzákötni a sourcet a táblához, a controlokba megadod tervező nézetbe melyik hova kapcsolódik és akkor auto save van, sajnos már nem emlékszem a részletekre vagy 12 éve nem dolgoztam vele...hála égnek.

Szóval valami olyasmi rémlik, hogy a form tervező nézetben a propertiek között meg tudod adni a táblát és utána mondjuk egy textboxnak ami kiraksz rá ki tudod választani a fieldet a táblából, amit kezelnie kell, szóval ha csak ilyen fapad kell, azt talán meg lehet úszni vba kód nélkül.
-
Ispy
nagyúr
válasz
nyugis21
#5361
üzenetére
Az access backend sql, de a frontend vba, azaz visual basic kódokat kell írni a formokhoz. A formok és a controlok pedig eseményvezéreltek. Nekünk a programunk 14 évig accesben futott, több 10000 sornyi programkód volt mögötte, ez nem triviális.
Nézd meg udemyn hátha van fent pár euróért anyag fent access frontendhez.
De ez már vegytiszta programozás, nem egy ilyen fórumba válaszolok rá pár sorba dolog.
Egyébként a youtubon van egy rakat videó.
-
Ispy
nagyúr
-
Ispy
nagyúr
válasz
crmtanulo
#5263
üzenetére
Ezekre nincsenek kész válaszok, ha egy webes alkalmazásról beszélünk, akkor kell egy adatbázis, egy weboldal és egy köztes réteg, ami a kettőt összeköti egymással, vannak különböző modellek, hogy hogyan is illik ezt felépíteni, és hozzá tucatnyi eszköz és program nyelv is.
-
Ispy
nagyúr
válasz
crmtanulo
#5261
üzenetére
Ajánlom inkább a programozás topikot. Ki kell találni, ha webes frontendet akarsz, akkor azt mibe, ha meg nem webes, akkor azt mibe, itt azért alap hangon vagy 10-15 lehetőségről beszélünk.
-
Ispy
nagyúr
válasz
crmtanulo
#5258
üzenetére
Ha érdekel a téma első körben javaslom a relációs adatbázisokkal az ismerkedést, mármint elméleti síkon, hogyan kell megtervezni a táblákat, a köztük lévő kapcsolatokat stb. Ha ez megvan, akkor nekiláthatsz a saját adatbázisod elkészítéséhez. Ez még messze nem program, ez inkább az egész alapja.
-
Ispy
nagyúr
válasz
Apollo17hu
#5224
üzenetére
Szegény utókor.
-
Ispy
nagyúr
Hun van a selectből a join?
Ezt a where-es megoldást ne erőltesd, én nem legalább is nem szoktam:
update x set mező=...from xinner join y on x.mező=y.mezőÍgy csak azokat fogja frissíteni, ahol x-ben és y-ban is megtalálható a kapcsolat alapján a rekord.
Ez mondjuk nem access, hanem ms sql, már rég nem accesseztem, szerencsére, de hátha megeszi.
Kicsit furán kezeled az accesst, mint valami excel táblát.
Nem mint egy relációs adatbázist.A gyémánt operátor egy kapcsos zárójel (leánykori nevén), ebben az esetben gondolom nincsen from és paraméterként értelemzi az access, egyébként ms sql-ben így illik a mezőkre hivatkozni, mert egyébként ha a mező neve egy operátor is, akkor a fordító nem tudja mit akarsz és hibára fut. Vagy ha gyilkos modon szóköz van a mező nevében, akkor is megpusztul. Ilyenkor a kapcsos zárójel közötti részt mezőként értelmezi.
Egyébként valami ilyesmi is lehet a megoldás:
update x set mező=....from x, ywhere (x.mező=y.mező)Csak én rosszul vagyok ettől a sytanxistól.
-
Ispy
nagyúr
Vagy ha bármely elemhez vonatkoztatva kell lekérni, akkor meg cross join -nal kell csinálni egy Decrates-szórzatot úgy, hogy datum1 minusz datum2 és ahol a különbség -60 és +60 között van azokat kiszűrni, és akkor megkapjuk egy táblázatba, hogy mely dátumokhoz mely dátumok vannak az 1 perces intervallumba előre, hátra.
Csak ettől lehet meghajlik a vas....
-
Ispy
nagyúr
válasz
bambano
#5003
üzenetére
El kell indulni a legkisebb dátumtól, ha jön az első dátum, ami 60 mp-en kívül van, akkor az egy csoport és indul újra a loop. Most azon lehet vitázni, hogy kisebb mint 60 vagy kisebb egyenlő. Ha megvan minden group, akkor meg kell határozni a group min és max értéke között az eltéréseket, azokat a groupokat meg ki kell szórni, ahol count(*)=1.
Már ha felfogtam mi a feladat...nem volt egyértelmű nekem az alap def.
-
-
Ispy
nagyúr
válasz
ratkaics
#4968
üzenetére
Hát én első körben csinálnék egy backupot, majd abból egy restore-t és elkezdenék "nézelődni" a tablákban, ha egyáltalán hozzáférsz és nincs letíltva. Aztán ha sikerül felderíteni a rossz adatokat, akkor lehet törölni, majd tesztelni és ha megy a copy db-n, akkor megcsinálni ugyanezt az élesen is.
De ez egy realációs adatbázis, szóval lehet, hogy több táblából is kell törölni, lehet megfelelő sorrendben, mittudomén, innentől már egy db expert is megízzadna ezzel a feladattal.
Mivel nem látjuk/tudjuk mennyi tábla van, mekkora a db (lehet-e egyáltalán restore-t csinálni?), kb. semmit nem tudunk, így ez elég távgyógyítás gyanús eset.
-
Ispy
nagyúr
Hogy röviden válaszoljak: ha szar, át kell írni. Pont.
Nem te vagy a történelembe az első, aki lyukra futott, ne aggódj, ráadásul kezdő vagy. Ez a hiba most egy tapasztalat, az ember így tud fejlődni, senki sem úgy kezdi, hogy miden kódja tökéletes már a legelső kódsortól kezdve. Ne sajnáld az időd a hibáid feltárására és kijavítására, mert persze, ez most így könnyebbnek tűnik, de így csak a szönyegalá sepred a dolgot és később is lesz mindig fájdalommentesebb út.
-
Ispy
nagyúr
válasz
ratkaics
#4961
üzenetére
Hát ez így elég mission impossible, nem ismered a programot, a működését, se a db felépítését, elég orosz rulettnek hangzik belepikszkálni, akár totál crash is lehet a vége.
Ja és még az SQL-hez sem értesz, hmmm, nem tudom mit lehetne tenni. Az biztos, hogy bármit is csinálsz, előtte legyen egy backupod, ha gáz van.
-
Ispy
nagyúr
Ha nincsen tele GO-val, akkor még ez sem kell. Simán felül tudod írni a változót a blokkon belül set/select-el.
Csak később vettem észre, hogy GO van az EXEC-ek után, úgy persze, hogy mindig újra kell deklarálni.
Persze jó lenne tudni, hogy pontosan mi a terv, mert így csak kb. találgatunk, hogy most mivan.
-
Ispy
nagyúr
válasz
Petya25
#4948
üzenetére
Nem lenne jobb egy etető eljárás? Azt meghívod a paraméterekkel, megcsinálja az insertet és fut a következő.
Egyébként meg simán declare az elején, utána meg set @a=1 vagy set helyett lehet select is, ha nem változik az értéke, akkor meg nem írod felül.
Már ha jól értem mit akarsz.

Egyébként meg a GO miatt dobja a deklarációt, mert az a kódblokk vége, onnantól új kód fut.
Szóval valami ilyesmi kellene:
Declare rész
.
.
Set variables
Exec sp1
.
.
.
Set variables
Exec sp2
.
.
.
Set variables
Exec sp3
.
.
.
GO -
Ispy
nagyúr
válasz
Diopapa
#4925
üzenetére
Hát akkor csináld amit mond, rakd be a group by-ba
![;]](//cdn.rios.hu/dl/s/v1.gif)
De a legjobb az lenne, ha az egész group by részt kiszednéd először, hogy megnézd mit is kapsz.
Sőt lehet, hogy a group by nélkül, ha megy, akkor egy subselectbe csomagolod és úgy group by-olod be.
SELECT szttorzsszam,
sztnev,
klnevhu
FROM (
SELECT szttorzsszam,
sztnev,
STUFF ((
SELECT ',' + kepzettseglista.klnevhu AS [text()]
FROM kepzettseglista
WHERE kepzettseglista.klid = bfkepzettsegimatrix.kmkepzettsegid
FOR XML PATH('')
), 1, 1, '' )
AS [klnevhu]
FROM szemelytorzs
LEFT JOIN bfkepzettsegimatrix ON szemelytorzs.szttorzsszam = bfkepzettsegimatrix.kmtorzsszam
WHERE (szttorzsszam = '1234')
) S
GROUP BY szttorzsszam,
sztnev,
klnevhu -
Ispy
nagyúr
válasz
Diopapa
#4923
üzenetére
Nem tudom jó-e, nem tudtam tesztelni, de kb. ezt hegesztgessed.
SELECT szttorzsszam,
sztnev,
STUFF ((
SELECT ',' + kepzettseglista.klnevhu AS [text()]
FROM kepzettseglista
WHERE kepzettseglista.klid = bfkepzettsegimatrix.kmkepzettsegid
FOR XML PATH('')
), 1, 1, '' )
AS [klnevhu]
FROM szemelytorzs
LEFT JOIN bfkepzettsegimatrix ON szemelytorzs.szttorzsszam = bfkepzettsegimatrix.kmtorzsszam
WHERE (szttorzsszam = '1234')
GROUP BY szttorzsszam,
sztnev -
Ispy
nagyúr
Ez a megoldás azért lassú, mert csináltál egy Descartes-szórzatot a két táblából, azaz minden halmaz minden elemét összeköti szépen minden halmaz minden elemével (vesszővel felsorolás). A helyes ahogy írtad is az union, csak figyelni kell, mert ha nincsen all, akkor az azonos rekordokat csak egyszer hozza a halmazokból.
-
Ispy
nagyúr
Használ valaki itt mssql-hez schema compare toolt?
Átraktuk az adatbázist a .net source controlba, és a módosításokat az sql schema comparrel töltjük vissza, de iszonyat lassú, és nem igazán találok rá megoldást. Pedig remek eszköz lenne, ha normálisan lehetne használni, de egy pár tábla módosítás visszaírása is 25 percig fut, ami hát nem túl hatékony. De egy check/unchek is el tud futni percekig...
-
Ispy
nagyúr
válasz
peterr85
#4404
üzenetére
És a dátumokban a pontot cseréld ki kötőjelre.
Egyébként ha SSMS-t használsz, akkor a queryben van egy fekete pipa gomb az exec mellett, az leellenőrzi a szintaktikát, hogy rendben van-e.
Illetve először írd meg a lekérdezést sum nélkül, annak gyorsan le kell futnia, de a dátum okozhat gondot, ha nincsen rajta index. Legyilkolni ezzel nehezen fogod a szervert szvsz, vagy akkor futtasd, amikor kevesen használják a programot.
-
Ispy
nagyúr
Szerintem ilyenkor nem natív formátumban van tárolva az adat, de az sql szerver felismeri és átkonvertálja, ezért jó a datediff.
Én is tapasztaltam már sebesség problémát, amikor nvarchart simán számként használtam, ha ' jelek közé raktam javult a sebessége, de gondolom akkor a leggyorsabb, ha nem kell találgatnia a motornak az adattípust.
-
Ispy
nagyúr
válasz
bandi0000
#4292
üzenetére
1. Miért string a dátum?
2. Lekédezéskor miért nem konvertálod a stringet dátumra?
3. Miért string a dátum?
Ha dátum lenne nem kéne konvertálni és mennének rendesen a dátum keresések...
4. Stringből is lehet midenféle mókolással megkapni az évet és hónapot, year, month függvénnyel, pl. ki tudod szedni, hogy 201907 vagy 201912, csak amikor összefűződ garantálni kell, hogy a hónap 2 karakter legyen: eléraksz 00-át és levágod jobbról 2 karakter hosszan RIGHT-tal. Persze előtte garantálni kell, hogy dátumként értelmezhető, jó lenne többet tudni az egészről. -
Ispy
nagyúr
válasz
tototos
#4259
üzenetére
Akkor mehet fel azure-ba, van elastic előfizetés, csak a használat után fizetsz, nézzetek utána.
Migrálni is egyszerű, simán SSMS-ből fel lehet tolni az adatbázist.
Persze arra készüljetek, ha nincsen net, nincsen munka, szóval nem árt, ha van B tervnek egy mobilnet.

Illetve van
150 EUR170 EUR értékű ajándék az elején (30 napig), szóval nem kerül semmibe csinálni egy tesztet, hogy milyen a sebbesége a programnak még mielőtt mindent átpakoltok felhőbe. Ha kevés a szufla, akkor lehet nagyobb csomagra előfizetni nagyobb sávszélért, de 5-10 fős cégeket simán el szokott vinni elég jó sebességgel.
Új hozzászólás Aktív témák
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Apple iPhone 16, Apple iPhone 16e, Apple iPhone 16 Plus, Apple iPhone 16 Pro
- Asus ROG Strix Scope Deluxe /DE/Red switch/
- ASUS VivoBook S16 S3607QA-PL018W
- BESZÁMÍTÁS! ASUS ROG Crosshair VIII Extreme alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


